:root {
    --stage-black: #0F0F10;
    --charcoal: #1E1E22;
    --warm-white: #F7F7F3;
    --warm-gray: #E8E4DC;
    --golden-stage: #D4A017;
    --deep-forest: #1E3A2F;
    --theatre-brown: #5B3A1A;
    --rust-accent: #C2410C;
    --ink: var(--stage-black);
    --muted: rgba(30, 30, 34, 0.72);
    --line: rgba(15, 15, 16, 0.12);
    --line-strong: rgba(15, 15, 16, 0.2);
    --surface: var(--warm-white);
    --shadow-soft: 0 14px 34px rgba(15, 15, 16, 0.08);
    --shadow-card: 0 18px 40px rgba(15, 15, 16, 0.12);
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 22px;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4rem;
    --project-media-ratio: 4 / 3;
    color-scheme: light;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--warm-white);
    color: var(--ink);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    min-height: 100vh;
    text-rendering: optimizeLegibility;
}

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

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

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

button {
    cursor: pointer;
}

::selection {
    background: rgba(212, 160, 23, 0.32);
}

.skip-link {
    background: var(--golden-stage);
    border-radius: var(--radius-sm);
    color: var(--stage-black);
    font-weight: 800;
    left: var(--space-4);
    padding: var(--space-3) var(--space-4);
    position: absolute;
    top: -10rem;
    z-index: 50;
}

.skip-link:focus {
    top: var(--space-4);
}

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

.site-header {
    background: var(--stage-black);
    border-bottom: 1px solid rgba(247, 247, 243, 0.1);
    position: sticky;
    top: 0;
    z-index: 40;
}

body.nav-open {
    overflow: hidden;
}

.nav-shell,
.section,
.footer-grid,
.footer-bottom {
    margin: 0 auto;
    max-width: 1180px;
    padding-left: var(--space-5);
    padding-right: var(--space-5);
}

.nav-shell {
    align-items: center;
    display: flex;
    gap: var(--space-4);
    justify-content: space-between;
    min-height: 72px;
    position: relative;
}

.brand {
    align-items: center;
    color: var(--warm-white);
    display: inline-flex;
    flex-shrink: 1;
    min-width: 0;
}

.brand-logo {
    display: block;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}

.brand-logo-hor {
    height: 37px;
    width: auto;
}

.brand-logo-vert {
    height: 72px;
    width: auto;
}

.footer-brand .brand-logo-vert {
    height: 72px;
}

.footer-brand.brand {
    margin-bottom: var(--space-4);
}

.nav-primary {
    align-items: center;
    display: flex;
    flex: 1;
    gap: var(--space-2);
    justify-content: center;
    min-width: 0;
}

.nav-item {
    border-radius: var(--radius-sm);
    color: var(--warm-white);
    display: grid;
    gap: 0.12rem;
    min-width: 118px;
    padding: 0.45rem 0.85rem;
    transition: background-color 160ms ease;
}

.nav-item:hover,
.nav-item.is-active {
    background: rgba(247, 247, 243, 0.08);
}

.nav-item-label {
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.1;
}

.nav-item-hint {
    color: rgba(247, 247, 243, 0.58);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
}

.nav-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-shrink: 0;
    gap: var(--space-3);
    margin-left: auto;
}

.nav-login {
    color: var(--warm-white);
    font-size: 0.86rem;
    font-weight: 700;
    padding: 0.45rem 0.55rem;
}

.nav-login:hover {
    color: var(--golden-stage);
}

.nav-join {
    min-height: 38px !important;
}

.nav-messages-btn {
    align-items: center;
    background: rgba(247, 247, 243, 0.08);
    border: 1px solid rgba(247, 247, 243, 0.14);
    border-radius: var(--radius-sm);
    color: var(--warm-white);
    display: inline-flex;
    flex-shrink: 0;
    height: 38px;
    justify-content: center;
    position: relative;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
    width: 38px;
}

.nav-messages-btn:hover,
.nav-messages-btn.is-active {
    background: rgba(247, 247, 243, 0.14);
    border-color: rgba(247, 247, 243, 0.28);
    color: var(--warm-white);
    transform: translateY(-1px);
}

.nav-messages-btn.has-unread {
    border-color: rgba(212, 175, 55, 0.45);
}

.nav-messages-btn .nav-icon {
    height: 18px;
    width: 18px;
}

.nav-messages-badge {
    align-items: center;
    background: var(--golden-stage);
    border: 2px solid var(--stage-black);
    border-radius: 999px;
    color: var(--stage-black);
    display: inline-flex;
    font-size: 0.62rem;
    font-weight: 800;
    height: 1.1rem;
    justify-content: center;
    line-height: 1;
    min-width: 1.1rem;
    padding: 0 0.28rem;
    position: absolute;
    right: -5px;
    top: -5px;
}

.nav-add-project-btn {
    align-items: center;
    background: var(--golden-stage);
    border: 1px solid var(--golden-stage);
    border-radius: var(--radius-sm);
    color: var(--stage-black);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 800;
    gap: 0.45rem;
    min-height: 38px;
    padding: 0.45rem 0.85rem;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.nav-add-project-btn:hover {
    background: var(--theatre-brown);
    border-color: var(--theatre-brown);
    color: var(--warm-white);
    transform: translateY(-1px);
}

.nav-add-project-btn .nav-icon {
    height: 16px;
    width: 16px;
}

.user-menu {
    position: relative;
}

.user-menu-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--warm-white);
    cursor: pointer;
    display: inline-flex;
    gap: 0.35rem;
    padding: 0.15rem;
}

.user-menu-avatar {
    border: 2px solid rgba(247, 247, 243, 0.18);
    border-radius: 50%;
    height: 38px;
    object-fit: cover;
    width: 38px;
}

.user-menu-avatar-fallback {
    align-items: center;
    background: var(--deep-forest);
    color: var(--warm-white);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    justify-content: center;
}

.user-menu-chevron {
    height: 16px;
    opacity: 0.72;
    width: 16px;
}

.user-menu-panel {
    background: var(--charcoal);
    border: 1px solid rgba(247, 247, 243, 0.12);
    border-radius: var(--radius-md);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34);
    min-width: 240px;
    padding: var(--space-2);
    position: absolute;
    right: 0;
    top: calc(100% + 0.55rem);
    z-index: 50;
}

.user-menu-panel[hidden] {
    display: none;
}

.user-menu-panel:not([hidden]) {
    display: block;
}

.user-menu-link {
    align-items: center;
    border-radius: var(--radius-sm);
    color: rgba(247, 247, 243, 0.88);
    display: flex;
    font-size: 0.84rem;
    font-weight: 700;
    gap: var(--space-3);
    padding: 0.62rem 0.72rem;
}

.user-menu-link:hover,
.user-menu-link.is-active {
    background: rgba(247, 247, 243, 0.08);
    color: var(--warm-white);
}

.user-menu-link.is-emphasis,
.user-menu-link.is-emphasis:hover,
.user-menu-link.is-emphasis.is-active {
    color: var(--golden-stage);
}

.user-menu-link-copy {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.user-menu-link-label {
    display: block;
}

.user-menu-link-hint {
    color: rgba(247, 247, 243, 0.52);
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.3;
}

.user-menu-link.is-emphasis .user-menu-link-hint {
    color: rgba(212, 160, 23, 0.72);
}

.user-menu-link .nav-icon {
    height: 18px;
    opacity: 0.82;
    width: 18px;
}

.user-menu-link.is-emphasis .nav-icon {
    opacity: 1;
}

.nav-drawer-link.is-emphasis,
.nav-drawer-link.is-emphasis strong,
.nav-drawer-link.is-emphasis .user-menu-link-label {
    color: var(--golden-stage);
}

.nav-drawer-link.is-emphasis .user-menu-link-hint {
    color: rgba(212, 160, 23, 0.72);
}

.user-menu-badge {
    background: var(--golden-stage);
    border-radius: 999px;
    color: var(--stage-black);
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
    margin-left: auto;
    min-width: 1.35rem;
    padding: 0.22rem 0.42rem;
    text-align: center;
}

.user-menu-divider {
    background: rgba(247, 247, 243, 0.12);
    height: 1px;
    margin: var(--space-2) 0;
}

.nav-icon {
    display: block;
    flex-shrink: 0;
    height: 20px;
    width: 20px;
}

.nav-toggle {
    background: transparent;
    border: 0;
    display: none;
    flex-shrink: 0;
    padding: var(--space-2);
}

.nav-toggle span:not(.sr-only) {
    background: var(--warm-white);
    border-radius: 999px;
    display: block;
    height: 2px;
    margin: 5px;
    width: 25px;
}

.nav-drawer {
    background: var(--stage-black);
    border-top: 1px solid rgba(247, 247, 243, 0.1);
    display: none;
    max-height: calc(100vh - 72px);
    overflow: auto;
    padding: var(--space-4) var(--space-5) var(--space-6);
}

.nav-drawer.is-open {
    display: block;
}

.nav-drawer-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.nav-drawer-title {
    color: rgba(247, 247, 243, 0.58);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.nav-drawer-close {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--warm-white);
    cursor: pointer;
    display: inline-flex;
    padding: var(--space-1);
}

.nav-drawer-links,
.nav-drawer-user,
.nav-drawer-auth {
    display: grid;
    gap: var(--space-2);
}

.nav-drawer-link {
    align-items: center;
    border: 1px solid rgba(247, 247, 243, 0.1);
    border-radius: var(--radius-md);
    color: var(--warm-white);
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
}

.nav-drawer-link:hover,
.nav-drawer-link.is-active {
    border-color: rgba(212, 160, 23, 0.42);
    background: rgba(247, 247, 243, 0.04);
}

.nav-drawer-link-main {
    align-items: center;
    display: flex;
    gap: var(--space-3);
    min-width: 0;
}

.nav-drawer-link-main strong {
    display: block;
    font-size: 0.94rem;
    font-weight: 800;
}

.nav-drawer-link-main small {
    color: rgba(247, 247, 243, 0.58);
    display: block;
    font-size: 0.76rem;
    font-weight: 600;
    margin-top: 0.12rem;
}

.nav-drawer-link-compact {
    border: 0;
    border-radius: var(--radius-sm);
    padding: 0.72rem 0.55rem;
}

.nav-drawer-chevron {
    height: 18px;
    opacity: 0.45;
    width: 18px;
}

.nav-drawer-user {
    border-top: 1px solid rgba(247, 247, 243, 0.1);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
}

.nav-drawer-user-head {
    align-items: center;
    display: flex;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    padding: 0 0.55rem;
}

.nav-drawer-user-head strong {
    color: var(--warm-white);
    display: block;
    font-size: 0.94rem;
}

.nav-drawer-user-head span {
    color: rgba(247, 247, 243, 0.58);
    display: block;
    font-size: 0.76rem;
    font-weight: 600;
}

.nav-drawer-auth {
    border-top: 1px solid rgba(247, 247, 243, 0.1);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
}

.nav-drawer-join {
    justify-content: center;
    width: 100%;
}

.button,
button.button {
    align-items: center;
    background: var(--golden-stage);
    border: 1px solid var(--golden-stage);
    border-radius: var(--radius-sm);
    color: var(--stage-black);
    display: inline-flex;
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.86rem;
    font-weight: 800;
    gap: var(--space-2);
    justify-content: center;
    min-height: 42px;
    padding: 0.72rem 1rem;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.button:hover,
button.button:hover {
    background: var(--theatre-brown);
    border-color: var(--theatre-brown);
    color: var(--warm-white);
    transform: translateY(-1px);
}

.button-secondary {
    background: transparent;
    border-color: currentColor;
    color: var(--stage-black);
}

.site-header .button-secondary,
.hero .button-secondary,
.site-footer .button-secondary {
    color: var(--warm-white);
}

.button-small {
    min-height: 34px;
    padding: 0.5rem 0.78rem !important;
}

.section {
    padding-bottom: var(--space-8);
    padding-top: var(--space-8);
}

.eyebrow {
    color: var(--golden-stage);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    margin: 0 0 var(--space-3);
    text-transform: uppercase;
}

h1,
h2,
h3 {
    color: var(--stage-black);
    font-family: Inter, system-ui, sans-serif;
    line-height: 1.12;
    margin: 0;
}

h1 {
    font-size: clamp(2.1rem, 4vw, 3.4rem);
    font-weight: 800;
    letter-spacing: -0.055em;
}

h2 {
    font-size: clamp(1.5rem, 3vw, 2.15rem);
    font-weight: 800;
    letter-spacing: -0.045em;
}

h3 {
    font-size: 1.06rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.hero h1,
.editorial-heading {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 800;
    letter-spacing: -0.055em;
}

.lead {
    color: var(--muted);
    font-size: clamp(1.02rem, 1.5vw, 1.18rem);
    margin: var(--space-4) 0 0;
    max-width: 680px;
}

.hero {
    background:
        linear-gradient(90deg, rgba(15, 15, 16, 0.98) 0%, rgba(15, 15, 16, 0.88) 48%, rgba(15, 15, 16, 0.58) 100%),
        radial-gradient(circle at 78% 18%, rgba(212, 160, 23, 0.22), transparent 18rem),
        linear-gradient(135deg, var(--stage-black), var(--charcoal));
    color: var(--warm-white);
    max-width: none;
    min-height: 620px;
    overflow: hidden;
    padding-left: max(var(--space-5), calc((100vw - 1180px) / 2 + var(--space-5)));
    padding-right: max(var(--space-5), calc((100vw - 1180px) / 2 + var(--space-5)));
    position: relative;
}

.hero::before {
    background:
        linear-gradient(90deg, rgba(247, 247, 243, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(247, 247, 243, 0.04) 1px, transparent 1px);
    background-size: 72px 72px;
    content: "";
    inset: 0;
    opacity: 0.28;
    position: absolute;
}

.hero::after {
    background:
        radial-gradient(circle, rgba(247, 247, 243, 0.72) 0 1px, transparent 2px),
        linear-gradient(180deg, rgba(212, 160, 23, 0.18), transparent 65%);
    content: "";
    height: 280px;
    opacity: 0.7;
    position: absolute;
    right: 12%;
    top: 0;
    transform: skewX(-12deg);
    width: 420px;
}

.hero-grid {
    align-items: center;
    display: grid;
    gap: var(--space-8);
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.72fr);
    margin: 0 auto;
    max-width: 1180px;
    min-height: 500px;
    position: relative;
    z-index: 1;
}

.hero h1 {
    color: var(--warm-white);
    font-size: clamp(2.25rem, 4.2vw, 3.5rem);
    line-height: 1.08;
    max-width: 820px;
}

.hero .lead {
    color: rgba(247, 247, 243, 0.78);
    max-width: 560px;
}

.hero-actions,
.form-actions,
.button-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.stat-grid {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: var(--space-5);
}

.mini-stat {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.mini-stat strong {
    color: var(--stage-black);
    display: block;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.1;
}

.mini-stat span {
    color: var(--muted);
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    margin-top: var(--space-1);
}

.home-hero {
    min-height: auto;
    padding-bottom: var(--space-7);
    padding-top: var(--space-7);
}

.home-hero-layout {
    align-items: center;
    display: grid;
    gap: var(--space-6);
    grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
    margin: 0 auto;
    max-width: 1180px;
    position: relative;
    z-index: 1;
}

.home-hero-copy {
    align-self: center;
}

.home-hero-copy h1 {
    font-size: clamp(2rem, 3.6vw, 3.15rem);
    max-width: 14ch;
}

.home-hero-copy .lead {
    max-width: 36rem;
}

.home-hero-feature {
    display: grid;
    gap: var(--space-3);
    width: 100%;
}

.home-hero-feature-label {
    color: var(--golden-stage);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin: 0;
    text-transform: uppercase;
}

.home-hero-feature-card {
    background: rgba(247, 247, 243, 0.04);
    border: 1px solid rgba(247, 247, 243, 0.12);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
    display: grid;
    overflow: hidden;
    transition: box-shadow 160ms ease, transform 160ms ease;
}

.home-hero-feature-card:hover {
    box-shadow: 0 22px 44px rgba(15, 15, 16, 0.28);
    transform: translateY(-2px);
}

.home-hero-feature-media {
    aspect-ratio: var(--project-media-ratio);
    background: var(--charcoal);
    display: block;
    overflow: hidden;
    position: relative;
}

.home-hero-feature-card.has-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.home-hero-feature-card.media-brick .home-hero-feature-media { background: linear-gradient(145deg, #6b3d2e, #3d2418); }
.home-hero-feature-card.media-gold .home-hero-feature-media { background: linear-gradient(145deg, #8a6a1f, #4f3a10); }
.home-hero-feature-card.media-forest .home-hero-feature-media { background: linear-gradient(145deg, #2f5a45, #183528); }
.home-hero-feature-card.media-slate .home-hero-feature-media { background: linear-gradient(145deg, #4d5560, #272b31); }
.home-hero-feature-card.media-canvas .home-hero-feature-media { background: linear-gradient(145deg, #8d8475, #5f574d); }

.home-hero-feature-body {
    color: var(--warm-white);
    display: grid;
    gap: 0.35rem;
    padding: var(--space-4);
}

.home-hero-feature-body strong {
    font-size: 1.05rem;
    line-height: 1.25;
}

.home-hero-feature-body span {
    color: rgba(247, 247, 243, 0.72);
    font-size: 0.84rem;
    line-height: 1.45;
}

.home-section {
    padding-top: var(--space-6);
}

.home-section-alt {
    background: rgba(15, 15, 16, 0.03);
    border-block: 1px solid rgba(15, 15, 16, 0.06);
    max-width: none;
    padding-inline: max(var(--space-5), calc((100vw - 1180px) / 2 + var(--space-5)));
}

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

.home-empty-state {
    color: var(--muted);
    margin: 0;
}

.finder-section {
    margin: calc(var(--space-7) * -1) auto 0;
    max-width: 1180px;
    padding: 0 var(--space-5);
    position: relative;
    z-index: 5;
}

.finder-section-alt {
    margin-top: var(--space-5);
}

.discovery-page {
    padding-bottom: var(--space-4);
    padding-top: var(--space-5);
}

.discovery-page .section-header {
    margin-bottom: var(--space-4);
}

.discovery-results-section {
    padding-top: 0;
}

.discovery-search-wrap {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.discovery-search-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
    max-width: 100%;
    min-width: 0;
    padding: var(--space-5);
}

.discovery-search-card.is-toolbar {
    border-radius: var(--radius-md);
    box-shadow: none;
    display: block;
    gap: 0;
    padding: var(--space-3) var(--space-4);
}

.discovery-search-form {
    display: grid;
    gap: var(--space-4);
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.discovery-search-card.is-toolbar .discovery-search-form {
    gap: 0;
}

.discovery-search-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3) var(--space-4);
    justify-content: space-between;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.discovery-search-lead {
    color: var(--muted);
    flex: 1 1 220px;
    font-size: 0.92rem;
    line-height: 1.45;
    margin: 0;
    max-width: 340px;
    min-width: 0;
}

.discovery-search-toolbar-controls {
    align-items: center;
    display: flex;
    flex: 1 1 16rem;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: flex-end;
    max-width: 100%;
    min-width: 0;
}

.discovery-search-input-wrap {
    display: block;
    flex: 1 1 12rem;
    margin: 0;
    max-width: 100%;
    min-width: 0;
}

.discovery-search-input-wrap input {
    appearance: none;
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    box-sizing: border-box;
    color: var(--ink);
    display: block;
    font: inherit;
    height: 42px;
    line-height: 1.2;
    max-width: 100%;
    min-height: 0;
    padding: 0 0.78rem;
    width: 100%;
    -webkit-appearance: none;
}

.discovery-search-primary {
    align-items: end;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.discovery-search-fields {
    align-items: end;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.discovery-search-card.is-toolbar .discovery-search-fields-drawer {
    border-top: 1px solid var(--line);
    gap: var(--space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: var(--space-3);
    padding-top: var(--space-3);
}

.discovery-search-fields-drawer.is-collapsed {
    border: 0;
    display: none;
    margin: 0;
    padding: 0;
}

.discovery-search-card.is-filters-open .discovery-filter-chevron {
    transform: rotate(180deg);
}

.discovery-filter-toggle {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 0.35rem;
    white-space: nowrap;
}

.discovery-filter-chevron {
    height: 16px;
    transition: transform 160ms ease;
    width: 16px;
}

.discovery-search-field-wide {
    grid-column: 1 / -1;
}

.discovery-search-field {
    gap: var(--space-2);
    margin: 0;
}

.discovery-search-field span {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.discovery-search-field input,
.discovery-search-field select {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--ink);
    font: inherit;
    min-height: 42px;
    padding: 0.7rem 0.78rem;
    width: 100%;
}

.discovery-search-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    grid-column: 1 / -1;
}

.discovery-search-card.is-toolbar .discovery-search-actions {
    justify-content: flex-end;
}

.discovery-filter-apply {
    min-height: 42px;
}

.discovery-search-submit-mobile {
    display: none;
}

.discovery-search-submit {
    flex: 0 0 auto;
    min-height: 42px;
    white-space: nowrap;
}

.discovery-search-intro h2 {
    font-size: 1.05rem;
    letter-spacing: -0.025em;
    line-height: 1.35;
    margin: 0;
}

.creator-results-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.creator-results-toolbar p {
    color: var(--muted);
    margin: 0;
}

.project-card-meta-line {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
    margin: 0;
}

.project-grid {
    display: grid;
    gap: var(--space-5);
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.portfolio-item-card,
.project-card,
.portfolio-card,
.panel,
.auth-card,
.admin-card {
    background: var(--surface);
    border: 1px solid rgba(15, 15, 16, 0.1);
    border-radius: var(--radius-md);
    box-shadow: 0 10px 24px rgba(15, 15, 16, 0.06);
}

.admin-kpi-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-kpi-card,
.admin-attention-card,
.admin-summary-item {
    background: var(--surface);
    border: 1px solid rgba(15, 15, 16, 0.1);
    border-radius: var(--radius-md);
    box-shadow: 0 10px 24px rgba(15, 15, 16, 0.06);
    padding: var(--space-5);
}

.admin-kpi-card strong {
    display: block;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.1;
    margin: 0.2rem 0 0.55rem;
}

.admin-kpi-card__split {
    color: var(--muted);
    font-size: 0.55em;
    font-weight: 700;
}

.admin-kpi-card__meta {
    color: var(--muted);
    display: block;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.4;
}

.admin-kpi-delta {
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    margin-top: 0.55rem;
}

.admin-kpi-delta.is-up {
    color: var(--deep-forest);
}

.admin-kpi-delta.is-down {
    color: var(--rust-accent);
}

.admin-kpi-delta.is-flat {
    color: var(--muted);
}

.admin-attention-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-attention-card.needs-action {
    border-color: rgba(212, 160, 23, 0.45);
    box-shadow: 0 12px 28px rgba(212, 160, 23, 0.12);
}

.admin-attention-card strong {
    display: block;
    font-size: 1.6rem;
    margin: 0.15rem 0 0.65rem;
}

.admin-attention-card p,
.admin-attention-list {
    color: var(--muted);
    font-size: 0.9rem;
}

.admin-attention-list {
    list-style: none;
    margin: 0 0 var(--space-4);
    padding: 0;
}

.admin-attention-list li + li {
    margin-top: 0.25rem;
}

.admin-attention-card .button {
    margin-top: auto;
}

.admin-summary-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-summary-item strong {
    display: block;
    font-size: 1.5rem;
    margin-bottom: 0.25rem;
}

.admin-summary-item span {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.admin-support-list {
    display: grid;
    gap: var(--space-4);
}

.admin-support-card__head {
    align-items: start;
    display: flex;
    gap: var(--space-4);
    justify-content: space-between;
    margin-bottom: var(--space-3);
}

.admin-support-card__head h2 {
    margin: 0.15rem 0;
}

.admin-support-card__form {
    border-top: 1px solid var(--line);
    margin-top: var(--space-4);
    padding-top: var(--space-4);
}

.content-report {
    margin-top: var(--space-4);
}

.content-report summary {
    cursor: pointer;
    font-weight: 700;
}

.content-report .form-grid {
    margin-top: var(--space-3);
}

@media (max-width: 1080px) {
    .admin-kpi-grid,
    .admin-attention-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 720px) {
    .admin-kpi-grid,
    .admin-attention-grid,
    .admin-summary-grid {
        grid-template-columns: 1fr;
    }
}

.portfolio-item-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.project-card,
.portfolio-card {
    overflow: hidden;
}

.portfolio-item-card:hover,
.project-card:hover,
.portfolio-card:hover {
    box-shadow: var(--shadow-card);
    transform: translateY(-2px);
}

.portfolio-item-card.is-profile-featured {
    border-color: rgba(212, 160, 23, 0.85);
    box-shadow: 0 12px 28px rgba(212, 160, 23, 0.16);
}

.portfolio-item-card__top {
    position: relative;
}

.portfolio-item-card__media {
    aspect-ratio: var(--project-media-ratio);
    background: var(--charcoal);
    display: block;
    overflow: hidden;
    position: relative;
}

.portfolio-item-card__media.has-image img {
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
    width: 100%;
}

.portfolio-item-card:hover .portfolio-item-card__media.has-image img {
    transform: scale(1.03);
}

.portfolio-item-card__media-placeholder {
    align-items: center;
    color: rgba(247, 247, 243, 0.72);
    display: flex;
    font-size: 0.82rem;
    font-weight: 800;
    height: 100%;
    justify-content: center;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.project-card-media,
.portfolio-card-media {
    aspect-ratio: var(--project-media-ratio);
    display: block;
    overflow: hidden;
    padding: 0;
    position: relative;
}

.project-card-media.has-image img,
.portfolio-card-media img {
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
    width: 100%;
}

.project-card:hover .project-card-media.has-image img {
    transform: scale(1.03);
}

.portfolio-card-media {
    align-items: center;
    background: var(--charcoal);
    color: rgba(247, 247, 243, 0.72);
    display: flex;
    font-weight: 800;
    justify-content: center;
}

.project-card-media::before,
.portfolio-item-card__media::before {
    content: none;
}

.portfolio-item-card__body,
.project-card-body,
.portfolio-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1.15rem 1.2rem 1.15rem;
}

.portfolio-item-card.has-creator .portfolio-item-card__body {
    padding-top: 0.55rem;
}

.portfolio-item-card__creator-avatar-link {
    bottom: -26px;
    left: 1.15rem;
    line-height: 0;
    position: absolute;
    text-decoration: none;
    z-index: 2;
}

.portfolio-item-card__creator-avatar-link:hover .portfolio-item-card__creator-avatar {
    box-shadow: 0 6px 16px rgba(15, 15, 16, 0.16);
}

.portfolio-item-card__creator-name:hover {
    color: var(--theatre-brown);
}

.portfolio-item-card__creator-row {
    align-items: center;
    display: flex;
    margin: 0 0 0.7rem;
    min-height: 26px;
    padding-left: calc(52px + 0.65rem);
}

.portfolio-item-card__creator-avatar {
    background: var(--warm-gray);
    border: 3px solid var(--surface);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(15, 15, 16, 0.12);
    flex-shrink: 0;
    height: 52px;
    object-fit: cover;
    width: 52px;
}

.portfolio-item-card__creator-avatar--fallback {
    align-items: center;
    color: var(--stage-black);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 800;
    justify-content: center;
}

.portfolio-item-card__creator-name {
    color: rgba(30, 30, 34, 0.72);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.portfolio-item-card__title,
.project-card h2,
.portfolio-card h2 {
    font-size: clamp(1.45rem, 2.4vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.08;
    margin: 0;
}

.portfolio-item-card__title a,
.project-card h2 a,
.portfolio-card h2 a {
    color: inherit;
    text-decoration: none;
}

.portfolio-item-card__title a:hover,
.project-card h2 a:hover,
.portfolio-card h2 a:hover {
    color: var(--theatre-brown);
}

.portfolio-item-card__skills-wrap {
    align-items: flex-start;
    display: flex;
    gap: 0.2rem;
    margin: 0.55rem 0 0;
}

.portfolio-item-card__skills,
.project-card-contribution {
    color: var(--golden-stage);
    display: -webkit-box;
    flex: 1 1 auto;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-transform: uppercase;
}

.portfolio-item-card__skills-wrap.is-expanded .portfolio-item-card__skills {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
}

.portfolio-item-card__skills-more {
    background: transparent;
    border: 0;
    color: var(--golden-stage);
    cursor: pointer;
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin: 0;
    padding: 0 0.1rem;
}

.portfolio-item-card__skills-more:hover,
.portfolio-item-card__skills-more:focus-visible {
    color: var(--theatre-brown);
    outline: none;
    text-decoration: underline;
}

.portfolio-item-card__details {
    display: grid;
    gap: 0.45rem;
    list-style: none;
    margin: 0.85rem 0 0;
    padding: 0;
}

.portfolio-item-card__detail {
    align-items: center;
    color: rgba(30, 30, 34, 0.72);
    display: flex;
    font-size: 0.84rem;
    font-weight: 600;
    gap: 0.5rem;
    line-height: 1.35;
}

.portfolio-item-card__detail-icon,
.portfolio-item-card__status-icon,
.portfolio-item-card__btn-icon {
    flex-shrink: 0;
    height: 14px;
    width: 14px;
}

.portfolio-item-card__detail-icon {
    color: rgba(30, 30, 34, 0.45);
}

.portfolio-item-card__actions,
.portfolio-card-actions {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: auto;
    padding-top: 1rem;
}

.portfolio-card.portfolio-item-card {
    height: 100%;
}

.project-grid .portfolio-item-card,
.project-grid .project-card,
.project-grid .portfolio-card {
    height: 100%;
}

.portfolio-item-card__actions:has(.portfolio-item-card__btn--edit:only-child) {
    grid-template-columns: 1fr;
}

.portfolio-item-card__btn {
    align-items: center;
    background: var(--surface);
    border: 1px solid rgba(15, 15, 16, 0.18);
    border-radius: 6px;
    color: var(--stage-black);
    display: inline-flex;
    font-size: 0.58rem;
    font-weight: 800;
    gap: 0.3rem;
    justify-content: center;
    letter-spacing: 0.05em;
    line-height: 1.15;
    min-height: 36px;
    padding: 0.45rem 0.5rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.portfolio-item-card__btn--feature {
    border-color: rgba(212, 160, 23, 0.75);
    color: var(--theatre-brown);
}

.portfolio-item-card__btn--feature:hover {
    background: rgba(212, 160, 23, 0.08);
}

.portfolio-item-card__btn--edit:hover {
    background: rgba(15, 15, 16, 0.04);
}

.portfolio-item-card__btn-icon {
    color: currentColor;
    flex-shrink: 0;
    height: 12px;
    width: 12px;
}

.portfolio-item-card__footer {
    display: none;
}

.project-card-tags,
.project-card-tags span,
.project-card-featured-badge,
.project-card-meta,
.portfolio-card .project-card-meta,
.portfolio-item-card__byline,
.project-card-byline {
    display: none;
}

.project-card p,
.portfolio-card p {
    margin: 0;
}

.project-card-score {
    display: none;
}

.finder-panel {
    background: var(--surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
    display: grid;
    gap: var(--space-5);
    grid-template-columns: 270px 1fr;
    padding: var(--space-5);
}

.finder-panel h2 {
    font-size: 1rem;
    letter-spacing: -0.025em;
}

.finder-form {
    align-items: end;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
}

.finder-form label {
    display: grid;
    gap: var(--space-2);
}

.finder-form span {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.finder-form input,
.finder-form select {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--ink);
    min-height: 42px;
    padding: 0.7rem 0.78rem;
    width: 100%;
}

.section-header {
    align-items: end;
    display: flex;
    gap: var(--space-5);
    justify-content: space-between;
    margin-bottom: var(--space-5);
}

.section-header p {
    color: var(--muted);
    margin: var(--space-3) 0 0;
    max-width: 620px;
}

.media-brick {
    background:
        radial-gradient(circle at 66% 18%, rgba(212, 160, 23, 0.26), transparent 8rem),
        linear-gradient(135deg, var(--stage-black), var(--theatre-brown));
}

.media-gold {
    background:
        radial-gradient(circle at 55% 22%, rgba(212, 160, 23, 0.34), transparent 8rem),
        linear-gradient(135deg, var(--charcoal), var(--theatre-brown));
}

.media-forest {
    background:
        radial-gradient(circle at 52% 26%, rgba(232, 228, 220, 0.22), transparent 8rem),
        linear-gradient(135deg, var(--stage-black), var(--deep-forest));
}

.media-slate {
    background:
        radial-gradient(circle at 48% 24%, rgba(247, 247, 243, 0.16), transparent 8rem),
        linear-gradient(135deg, var(--charcoal), var(--stage-black));
}

.media-canvas {
    background:
        radial-gradient(circle at 58% 20%, rgba(212, 160, 23, 0.18), transparent 8rem),
        linear-gradient(135deg, var(--warm-gray), var(--theatre-brown));
}

.tag-row,
.filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.panel p,
.admin-card p {
    color: var(--muted);
}

.tag-row {
    margin-top: var(--space-3);
}

.tag-row span,
.filter-row a,
.status-pill {
    background: var(--warm-gray);
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--charcoal);
    font-size: 0.76rem;
    font-weight: 800;
    padding: 0.44rem 0.7rem;
}

.filter-row a:hover,
.status-pill {
    background: rgba(212, 160, 23, 0.16);
    border-color: rgba(212, 160, 23, 0.42);
    color: var(--stage-black);
}

.steps-grid,
.dashboard-grid,
.admin-grid,
.profile-grid {
    display: grid;
    gap: var(--space-5);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-grid--editor {
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
}

.admin-grid--editor .admin-card:first-child {
    align-self: start;
}

.content-grid--form-left {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.content-grid--taxonomy {
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    width: 100%;
}

.taxonomy-admin-section {
    padding-top: 0;
}

.taxonomy-admin-section + .taxonomy-admin-section {
    padding-top: var(--space-5);
}

.taxonomy-admin-notice {
    padding-bottom: 0;
    padding-top: var(--space-4);
}

.taxonomy-admin-head {
    align-items: flex-start;
    display: flex;
    gap: var(--space-4);
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.taxonomy-bulk-bar {
    align-items: center;
    background: rgba(212, 160, 23, 0.08);
    border: 1px solid rgba(212, 160, 23, 0.24);
    border-radius: var(--radius-sm);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
}

.taxonomy-bulk-bar__count {
    color: var(--stage-black);
    font-size: 0.88rem;
    font-weight: 700;
    margin: 0;
}

.taxonomy-bulk-bar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.taxonomy-admin-checkbox-col {
    width: 42px;
}

.taxonomy-admin-table-wrap {
    margin-top: 0;
}

.taxonomy-table-panel h2 {
    margin: 0;
}

.taxonomy-form-panel h2 {
    font-size: 1.1rem;
}

.admin-table--taxonomy {
    min-width: 0;
    width: 100%;
}

.taxonomy-modal {
    background: transparent;
    border: 0;
    max-width: none;
    padding: 0;
    width: min(520px, calc(100vw - 2rem));
}

.taxonomy-modal::backdrop {
    background: rgba(15, 15, 16, 0.55);
}

.taxonomy-modal__panel {
    margin: 0;
}

.taxonomy-modal__header {
    align-items: center;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.taxonomy-modal__header h2 {
    font-size: 1.25rem;
    margin: 0;
}

.taxonomy-modal__close {
    background: transparent;
    border: 0;
    color: var(--muted);
    cursor: pointer;
    font-size: 1.6rem;
    line-height: 1;
    padding: 0.15rem 0.35rem;
}

.taxonomy-modal__close:hover {
    color: var(--stage-black);
}

.admin-table tbody tr.is-editing {
    background: rgba(212, 160, 23, 0.08);
}

.admin-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.admin-table-actions form {
    margin: 0;
}

.form-grid--compact {
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.form-row {
    display: grid;
    gap: var(--space-3);
}

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

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

.panel-compact {
    padding: var(--space-4);
}

.panel-compact .eyebrow {
    margin-bottom: var(--space-2);
}

.form-check-grid {
    display: grid;
    gap: var(--space-2) var(--space-4);
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    margin-top: var(--space-3);
}

.form-check-inline {
    align-items: center;
    color: var(--stage-black);
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 600;
    gap: var(--space-2);
}

.form-check-inline input[type="checkbox"],
.form-check-grid input[type="checkbox"] {
    accent-color: var(--golden-stage);
    flex-shrink: 0;
    height: 1rem;
    margin: 0;
    min-height: auto;
    padding: 0;
    width: 1rem;
}

.admin-plan-meta-panels {
    align-items: start;
}

.admin-form-panel {
    margin-bottom: var(--space-5);
}

.admin-table-wrap {
    overflow-x: auto;
    padding: 0;
}

.admin-table {
    border-collapse: collapse;
    min-width: 760px;
    width: 100%;
}

.admin-table th,
.admin-table td {
    border-bottom: 1px solid var(--line);
    padding: var(--space-3) var(--space-4);
    text-align: left;
    vertical-align: top;
}

.admin-table th {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-table-copy {
    color: var(--muted);
    font-size: 0.88rem;
    margin: var(--space-2) 0 0;
}

.admin-table-thumb {
    aspect-ratio: 4 / 3;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    display: block;
    height: 54px;
    object-fit: cover;
    width: 72px;
}

.admin-table-thumb--empty {
    align-items: center;
    color: var(--muted);
    display: inline-flex;
    font-size: 0.72rem;
    justify-content: center;
    text-align: center;
}

.admin-homepage-current {
    align-items: center;
    display: flex;
    gap: var(--space-4);
    margin: var(--space-4) 0;
}

.admin-homepage-current-thumb {
    flex-shrink: 0;
    height: 72px;
    width: 96px;
}

.admin-inline-form {
    margin-top: var(--space-3);
}

.admin-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.admin-row-actions form {
    margin: 0;
}

.admin-search-bar {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin: var(--space-4) 0;
}

.admin-search-bar .form-field {
    flex: 1 1 16rem;
    margin: 0;
}

.admin-status {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.2rem 0.55rem;
    text-transform: uppercase;
}

.admin-status--active,
.admin-status--published {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
}

.admin-status--pending,
.admin-status--draft {
    background: rgba(212, 160, 23, 0.16);
    color: #9a7209;
}

.admin-status--suspended,
.admin-status--hidden {
    background: rgba(183, 28, 28, 0.12);
    color: #b71c1c;
}

.button-danger {
    border-color: rgba(183, 28, 28, 0.35);
    color: #b71c1c;
}

.button-danger:hover {
    background: rgba(183, 28, 28, 0.08);
    border-color: #b71c1c;
}

.panel,
.admin-card {
    padding: var(--space-5);
}

.admin-card .button {
    margin-top: var(--space-3);
}

.admin-maintenance-card.is-danger {
    border-color: rgba(183, 28, 28, 0.25);
}

.admin-maintenance-group + .admin-maintenance-group {
    margin-top: var(--space-6);
}

.admin-maintenance-list {
    display: grid;
    gap: 0;
    overflow: hidden;
    padding: 0;
}

.admin-maintenance-item {
    border-top: 1px solid rgba(15, 15, 16, 0.08);
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-5);
}

.admin-maintenance-item:first-child {
    border-top: 0;
}

.admin-maintenance-item.is-danger {
    background: rgba(183, 28, 28, 0.03);
}

.admin-maintenance-item.is-active {
    background: rgba(212, 175, 55, 0.06);
}

.admin-maintenance-item-main {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
}

.admin-maintenance-item-copy {
    flex: 1 1 18rem;
    min-width: 0;
}

.admin-maintenance-item-copy h3 {
    font-size: 1rem;
    margin: 0 0 0.35rem;
}

.admin-maintenance-item-copy p {
    color: var(--muted);
    margin: 0;
}

.admin-maintenance-form {
    margin: 0;
}

.admin-maintenance-preview {
    display: grid;
    gap: var(--space-3);
    margin: 0;
    padding: var(--space-4);
    background: rgba(15, 15, 16, 0.03);
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-md);
}

.admin-maintenance-preview-list {
    margin: 0;
    padding-left: 1.1rem;
}

.admin-maintenance-preview-list li + li {
    margin-top: 0.25rem;
}

.profile-avatar {
    align-items: center;
    background: var(--deep-forest);
    border-radius: 50%;
    color: var(--warm-white);
    display: flex;
    font-size: 1.6rem;
    font-weight: 800;
    height: 72px;
    justify-content: center;
    width: 72px;
}

.profile-photo {
    aspect-ratio: 1;
    border-radius: 50%;
    display: block;
    height: 96px;
    object-fit: cover;
    width: 96px;
}

.profile-cover {
    margin: 0 auto;
    max-width: 1180px;
    padding: var(--space-5) var(--space-5) 0;
}

.profile-cover img {
    aspect-ratio: 16 / 5;
    border-radius: var(--radius-lg);
    display: block;
    object-fit: cover;
    width: 100%;
}

.page-hero {
    background: var(--surface);
    border-bottom: 1px solid var(--line);
}

.page-hero .section {
    padding-bottom: var(--space-7);
    padding-top: var(--space-7);
}

.page-hero h1 {
    font-family: Inter, system-ui, sans-serif;
}

.content-grid {
    align-items: start;
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(0, 2fr) 360px;
}

.detail-hero-media {
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-5);
}

.project-hero-image {
    aspect-ratio: var(--project-media-ratio);
    border-radius: var(--radius-sm);
    display: block;
    margin-bottom: 0;
    object-fit: cover;
    width: 100%;
}

/* Single project detail page */
.project-detail-page .project-detail-header {
    padding-bottom: var(--space-5);
    padding-top: var(--space-5);
}

.project-detail-sidebar {
    align-self: start;
}

.project-detail-sidebar-panel {
    height: 100%;
}

.project-detail-page--portfolio .project-detail-header {
    padding-top: var(--space-5);
}

.project-detail-page--portfolio.maker-profile-page .project-detail-header {
    padding-top: var(--space-6);
}

.project-owner-bar {
    align-items: center;
    background: rgba(212, 160, 23, 0.12);
    border-bottom: 1px solid rgba(212, 160, 23, 0.28);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
    padding: 0.75rem clamp(var(--space-4), 2vw, var(--space-6));
}

.project-owner-bar p {
    color: var(--theatre-brown);
    font-size: 0.88rem;
    font-weight: 700;
    margin: 0;
}

.project-detail-header__top {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
    margin-bottom: var(--space-5);
}

.project-back-link {
    align-items: center;
    color: var(--golden-stage);
    display: inline-flex;
    font-size: 0.92rem;
    font-weight: 700;
    gap: 0.2rem;
}

.project-back-link:hover {
    text-decoration: underline;
}

.project-back-link__icon {
    height: 1rem;
    width: 1rem;
}

.project-detail-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: flex-end;
}

.project-detail-actions__group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.project-detail-action-btn {
    background: var(--surface);
    border-color: var(--line-strong);
    min-height: 40px;
    padding-inline: 0.95rem;
}

.project-detail-action-btn.is-active {
    background: rgba(212, 160, 23, 0.14);
    border-color: rgba(212, 160, 23, 0.55);
}

.project-detail-action-icon {
    height: 1rem;
    width: 1rem;
}

.project-detail-title {
    font-size: clamp(2.4rem, 5vw, 3.8rem);
    letter-spacing: -0.04em;
    line-height: 1.02;
    margin: 0 0 var(--space-4);
}

.project-skill-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    list-style: none;
    margin: 0 0 var(--space-4);
    padding: 0;
}

.project-skill-pill {
    align-items: center;
    background: #F3EDE4;
    border: 0;
    border-radius: 999px;
    color: var(--stage-black);
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 800;
    gap: 0.55rem;
    line-height: 1.2;
    padding: 0.55rem 1.05rem;
}

.project-skill-pill__icon {
    color: var(--golden-stage);
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
}

.project-meta-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    list-style: none;
    margin: 0;
    padding: 0;
}

.project-meta-item {
    align-items: center;
    color: var(--muted);
    display: inline-flex;
    font-size: 0.92rem;
    font-weight: 600;
    gap: 0.45rem;
}

.project-meta-item__icon {
    height: 1rem;
    opacity: 0.72;
    width: 1rem;
}

.project-detail-main {
    padding-top: 0;
}

.project-detail-grid {
    align-items: start;
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 380px);
}

.project-hero-placeholder {
    align-items: center;
    aspect-ratio: var(--project-media-ratio);
    background: var(--warm-gray);
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-sm);
    color: var(--muted);
    display: flex;
    font-weight: 700;
    justify-content: center;
}

.project-creator-card {
    background: var(--surface);
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-soft);
    padding: clamp(var(--space-4), 2vw, var(--space-5));
}

.project-creator-card__heading {
    font-size: 1.05rem;
    margin: 0 0 var(--space-4);
}

.project-creator-card__profile {
    align-items: center;
    display: flex;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.project-creator-card__avatar-link {
    flex-shrink: 0;
}

.project-creator-card__avatar {
    border-radius: 999px;
    display: block;
    height: 64px;
    object-fit: cover;
    width: 64px;
}

.project-creator-card__avatar--fallback {
    align-items: center;
    background: var(--charcoal);
    color: var(--warm-white);
    display: flex;
    font-size: 1rem;
    font-weight: 800;
    justify-content: center;
}

.project-creator-card__name {
    color: var(--stage-black);
    font-size: 1.05rem;
    font-weight: 800;
}

.project-creator-card__name:hover {
    color: var(--theatre-brown);
}

.project-creator-card__role,
.project-creator-card__location {
    color: var(--muted);
    font-size: 0.88rem;
    margin: 0.15rem 0 0;
}

.project-creator-card__location {
    align-items: center;
    display: inline-flex;
    gap: 0.3rem;
}

.project-creator-card__location-icon {
    height: 0.9rem;
    width: 0.9rem;
}

.project-creator-card__cta {
    margin-top: var(--space-4);
    width: 100%;
}

.project-creator-card__cta-icon {
    height: 1rem;
    width: 1rem;
}

.project-creator-card__bio {
    color: var(--muted);
    font-size: 0.92rem;
    margin: 0 0 var(--space-4);
}

.project-story-section {
    padding-top: 0;
}

.project-story-panel {
    padding: clamp(var(--space-4), 2vw, var(--space-5));
}

.project-story-heading {
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    margin: 0 0 var(--space-4);
}

.project-story-copy {
    color: var(--muted);
    font-size: 0.98rem;
    max-width: 72ch;
}

.project-story-copy p {
    margin: 0 0 var(--space-4);
}

.project-story-copy p:last-of-type {
    margin-bottom: 0;
}

.project-story-read-more {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--golden-stage);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    gap: 0.2rem;
    margin-top: var(--space-4);
    padding: 0;
}

.project-story-read-more:hover {
    text-decoration: underline;
}

.project-story-read-more__icon {
    height: 0.95rem;
    transition: transform 160ms ease;
    width: 0.95rem;
}

.project-story-read-more[aria-expanded="true"] .project-story-read-more__icon {
    transform: rotate(180deg);
}

.project-photos-section {
    padding-top: 0;
}

.project-photos-heading {
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    margin: 0 0 var(--space-5);
}

.project-photos-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project-photo-item {
    border-radius: var(--radius-sm);
    margin: 0;
    overflow: hidden;
}

.project-photo-item .media-viewer-trigger {
    border: 0;
    border-radius: var(--radius-sm);
    display: block;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

.project-photo-item img,
.project-photo-item video {
    aspect-ratio: var(--project-media-ratio);
    display: block;
    object-fit: cover;
    width: 100%;
}

.project-comments-section {
    padding-top: 0;
}

.project-media-column .project-gallery {
    margin-top: var(--space-5);
}

.project-sidebar-copy {
    border-top: 1px solid var(--line);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
}

.project-sidebar-copy h2 + h2 {
    margin-top: var(--space-5);
}

.project-sidebar .tag-row {
    border-top: 1px solid var(--line);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
}

.project-gallery {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: var(--space-5);
}

.project-gallery figure {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    margin: 0;
    overflow: hidden;
}

.project-gallery img {
    aspect-ratio: var(--project-media-ratio);
    object-fit: cover;
    width: 100%;
}

.project-gallery video {
    aspect-ratio: var(--project-media-ratio);
    background: var(--stage-black);
    display: block;
    object-fit: cover;
    width: 100%;
}

.project-gallery figcaption {
    color: var(--muted);
    font-size: 0.84rem;
    padding: var(--space-3);
}

.media-viewer-trigger {
    background: transparent;
    border: 0;
    cursor: zoom-in;
    display: block;
    margin: 0;
    padding: 0;
    position: relative;
    width: 100%;
}

.media-viewer-trigger-hero {
    border-radius: var(--radius-sm);
    cursor: zoom-in;
    overflow: hidden;
}

.project-gallery .is-video .media-viewer-trigger {
    cursor: pointer;
}

.media-viewer-trigger img,
.media-viewer-trigger video {
    display: block;
    width: 100%;
}

.project-gallery .media-viewer-trigger img,
.project-gallery .media-viewer-trigger video {
    aspect-ratio: var(--project-media-ratio);
    object-fit: cover;
}

.media-viewer-trigger .project-hero-image {
    margin-bottom: 0;
}

.media-viewer-hint,
.media-viewer-play-badge {
    background: rgba(15, 15, 16, 0.72);
    border-radius: 999px;
    color: var(--warm-white);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    opacity: 0;
    padding: 0.35rem 0.7rem;
    pointer-events: none;
    position: absolute;
    right: var(--space-3);
    top: var(--space-3);
    transition: opacity 0.18s ease;
    z-index: 1;
}

.media-viewer-play-badge {
    left: 50%;
    opacity: 1;
    right: auto;
    top: 50%;
    transform: translate(-50%, -50%);
}

.media-viewer-trigger:hover .media-viewer-hint,
.media-viewer-trigger:focus-visible .media-viewer-hint {
    opacity: 1;
}

.media-viewer-trigger:focus-visible {
    outline: 2px solid var(--golden-stage);
    outline-offset: 2px;
}

body.media-viewer-open {
    overflow: hidden;
}

.media-viewer {
    inset: 0;
    position: fixed;
    z-index: 1200;
}

.media-viewer-backdrop {
    background: rgba(15, 15, 16, 0.92);
    inset: 0;
    position: absolute;
}

.media-viewer-panel {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    inset: 0;
    padding: var(--space-5);
    pointer-events: none;
    position: absolute;
}

.media-viewer-body {
    align-items: center;
    display: flex;
    flex: 1;
    gap: var(--space-3);
    justify-content: center;
    min-height: 0;
    pointer-events: none;
}

.media-viewer-body .media-viewer-nav,
.media-viewer-body .media-viewer-stage {
    pointer-events: auto;
}

.media-viewer-close,
.media-viewer-nav,
.media-viewer-meta,
.media-viewer-stage {
    pointer-events: auto;
}

.media-viewer-close {
    background: rgba(247, 247, 243, 0.12);
    border: 1px solid rgba(247, 247, 243, 0.18);
    border-radius: 999px;
    color: var(--warm-white);
    cursor: pointer;
    font-size: 1.8rem;
    height: 2.6rem;
    line-height: 1;
    position: absolute;
    right: var(--space-4);
    top: var(--space-4);
    width: 2.6rem;
    z-index: 2;
}

.media-viewer-close:hover,
.media-viewer-nav:hover {
    background: rgba(247, 247, 243, 0.22);
}

.media-viewer-nav {
    align-self: center;
    background: rgba(247, 247, 243, 0.12);
    border: 1px solid rgba(247, 247, 243, 0.18);
    border-radius: 999px;
    color: var(--warm-white);
    cursor: pointer;
    font-size: 2rem;
    height: 3rem;
    line-height: 1;
    width: 3rem;
}

.media-viewer-nav:disabled {
    cursor: default;
    opacity: 0.35;
}

.media-viewer-stage {
    align-items: center;
    display: flex;
    flex: 1;
    justify-content: center;
    max-height: calc(100vh - 8rem);
    min-height: 0;
    min-width: 0;
}

.media-viewer-stage img,
.media-viewer-stage video {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    max-height: calc(100vh - 8rem);
    max-width: min(100%, 1200px);
    object-fit: contain;
    width: auto;
}

.media-viewer-meta {
    color: var(--warm-white);
    pointer-events: auto;
    text-align: center;
}

.media-viewer-caption {
    font-size: 1rem;
    margin: 0 0 var(--space-2);
}

.media-viewer-counter {
    color: rgba(247, 247, 243, 0.72);
    font-size: 0.84rem;
    margin: 0;
}

.detail-copy {
    font-size: 1rem;
}

.detail-copy h2 + p {
    margin-top: var(--space-3);
}

.detail-list {
    display: grid;
    gap: var(--space-3);
    margin: var(--space-4) 0 0;
}

.detail-list div {
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 130px 1fr;
    padding-bottom: var(--space-3);
}

.detail-list dt {
    color: var(--muted);
    font-weight: 800;
}

.detail-list dd {
    margin: 0;
}

.auth-wrap {
    background:
        linear-gradient(90deg, rgba(15, 15, 16, 0.92), rgba(30, 30, 34, 0.76)),
        var(--charcoal);
    display: grid;
    min-height: calc(100vh - 72px);
    place-items: center;
    padding: var(--space-8) var(--space-5);
}

.auth-card {
    max-width: 520px;
    padding: var(--space-6);
    width: 100%;
}

.auth-card h1 {
    font-family: Inter, system-ui, sans-serif;
}

.closed-beta-card {
    max-width: 620px;
}

.closed-beta-points {
    color: var(--muted);
    display: grid;
    gap: var(--space-2);
    margin: var(--space-4) 0;
}

.closed-beta-actions {
    margin-top: var(--space-4);
}

.panel-inset {
    background: rgba(15, 15, 16, 0.04);
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-md);
    margin-top: var(--space-3);
    padding: var(--space-4);
}

.form-hint {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.5;
    margin: calc(-1 * var(--space-2)) 0 var(--space-3);
}

.form-hint code {
    font-size: 0.85em;
}

.form-grid {
    display: grid;
    gap: var(--space-4);
    margin-top: var(--space-5);
}

.form-field {
    display: grid;
    gap: var(--space-2);
}

.form-field span {
    color: var(--stage-black);
    font-size: 0.86rem;
    font-weight: 800;
}

.form-field strong {
    color: var(--rust-accent);
}

.form-field input,
.form-field textarea,
.form-field select {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--ink);
    min-height: 44px;
    padding: 0.78rem 0.9rem;
    transition: border-color 160ms ease, box-shadow 160ms ease;
    width: 100%;
}

.form-field input[type="checkbox"],
.form-field input[type="radio"] {
    accent-color: var(--golden-stage);
    flex-shrink: 0;
    height: 1rem;
    margin: 0;
    min-height: auto;
    padding: 0;
    width: 1rem;
}

.marketplace-delivery-fieldset {
    border: 0;
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
}

.marketplace-delivery-fieldset legend {
    color: var(--stage-black);
    font-size: 0.86rem;
    font-weight: 800;
    padding: 0;
}

.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus,
.discovery-search-input-wrap input:focus,
.discovery-search-field input:focus,
.discovery-search-field select:focus,
.finder-form input:focus,
.finder-form select:focus {
    border-color: var(--golden-stage);
    box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.18);
    outline: 0;
}

.form-field textarea {
    min-height: 140px;
    resize: vertical;
}

.form-field small {
    color: var(--muted);
}

.form-field.is-invalid input,
.form-field.is-invalid textarea,
.form-field.is-invalid select,
.profile-link-field.is-invalid input {
    border-color: #c0392b;
    box-shadow: inset 0 0 0 1px rgba(192, 57, 43, 0.18);
}

.form-field-label.is-invalid,
.media-upload-title.is-invalid {
    color: #c0392b;
    font-weight: 700;
}

.form-field-error-banner {
    background: #fdecea;
    border: 1px solid #c0392b;
    border-left: 4px solid #c0392b;
    border-radius: var(--radius-sm);
    color: #8b1e13;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.45;
    margin: 0.35rem 0 0.55rem;
    padding: 0.6rem 0.75rem;
}

.form-field-error,
.media-upload-card.is-invalid .form-field-error {
    color: #c0392b;
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-top: 0.35rem;
}

.media-upload-card.is-invalid {
    border-color: #c0392b;
    box-shadow: inset 0 0 0 1px rgba(192, 57, 43, 0.18);
}

.media-upload-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.media-upload-card {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-3);
    grid-template-rows: auto 190px auto auto;
    padding: var(--space-4);
    min-width: 0;
}

.media-upload-title {
    color: var(--stage-black);
    font-size: 0.86rem;
    font-weight: 800;
}

.media-upload-preview {
    align-items: center;
    background: var(--warm-gray);
    border-radius: var(--radius-md);
    display: flex;
    justify-content: center;
    min-height: 0;
    overflow: hidden;
    width: 100%;
}

.media-upload-preview strong {
    color: var(--muted);
    font-size: 0.88rem;
    padding: var(--space-4);
    text-align: center;
}

.media-upload-preview img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.media-upload-preview-square {
    aspect-ratio: 1;
    justify-self: center;
    max-width: 190px;
}

.media-upload-preview-cover {
    aspect-ratio: 16 / 9;
}

.media-upload-control {
    display: block;
    min-width: 0;
}

.media-upload-card input[type="file"] {
    background: var(--surface);
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-sm);
    display: block;
    font-size: 0.78rem;
    max-width: 100%;
    padding: var(--space-2);
    width: 100%;
}

.media-upload-card input[type="file"]::file-selector-button {
    background: var(--stage-black);
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--warm-white);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    margin-right: var(--space-2);
    padding: 0.5rem 0.7rem;
}

.media-upload-card small {
    color: var(--muted);
    display: block;
    font-size: 0.76rem;
    line-height: 1.45;
}

.project-upload-box {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
}

.project-upload-preview {
    align-items: center;
    aspect-ratio: 16 / 6;
    background: var(--warm-gray);
    border-radius: var(--radius-md);
    color: var(--muted);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    justify-content: center;
    padding: var(--space-5);
    text-align: center;
}

.project-upload-preview strong {
    color: var(--charcoal);
    font-size: 0.95rem;
}

.project-upload-preview small,
.project-upload-box p {
    color: var(--muted);
    font-size: 0.78rem;
    margin: 0;
}

.project-upload-control {
    background: var(--surface);
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-sm);
    padding: var(--space-3);
}

.project-upload-control input[type="file"] {
    display: block;
    font-size: 0.84rem;
    width: 100%;
}

.project-upload-control input[type="file"]::file-selector-button {
    background: var(--stage-black);
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--warm-white);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    margin-right: var(--space-2);
    padding: 0.55rem 0.75rem;
}

.media-manager-header {
    align-items: end;
    display: flex;
    gap: var(--space-4);
    justify-content: space-between;
}

.media-manager-header h2,
.media-manager-header p {
    margin: 0;
}

.media-manager-header p,
.media-manager-header span {
    color: var(--muted);
    font-size: 0.86rem;
}

.media-manager-header span {
    font-weight: 800;
    white-space: nowrap;
}

.project-image-grid,
.media-slot-grid {
    display: grid;
    gap: var(--space-3);
    grid-auto-rows: minmax(142px, auto);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: var(--space-4);
}

.project-image-slot,
.media-slot {
    background: var(--warm-gray);
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-md);
    min-height: 142px;
    overflow: hidden;
    position: relative;
}

.project-image-slot.is-feature-slot,
.media-slot.is-feature-slot {
    grid-column: span 2;
    grid-row: span 2;
    min-height: 296px;
}

.project-image-slot.is-empty,
.media-slot.is-empty {
    display: flex;
}

.project-image-slot label,
.media-slot label {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--space-2);
    justify-content: center;
    min-height: 142px;
    padding: var(--space-4);
    text-align: center;
    width: 100%;
}

.project-image-slot.is-feature-slot.is-empty label,
.media-slot.is-feature-slot.is-empty label {
    min-height: 296px;
}

.project-image-slot.is-empty label,
.media-slot.is-empty label {
    background: rgba(232, 228, 220, 0.78);
    inset: 0;
    position: absolute;
}

.project-image-slot.is-empty:hover,
.media-slot.is-empty:hover {
    border-color: var(--golden-stage);
}

.project-image-slot label span,
.media-slot label span {
    color: var(--stage-black);
    font-size: 2.4rem;
    line-height: 1;
}

.project-image-slot label strong,
.media-slot label strong {
    color: var(--charcoal);
    font-size: 0.9rem;
}

.project-image-slot label small,
.media-slot label small {
    color: var(--muted);
    font-size: 0.76rem;
}

.project-image-slot input[type="file"],
.media-slot input[type="file"] {
    cursor: pointer;
    height: 1px;
    inset: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.project-image-slot.has-image img,
.media-slot.has-image img {
    background: var(--warm-gray);
    display: block;
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.project-image-overlay,
.media-slot-overlay {
    align-items: end;
    background: linear-gradient(180deg, transparent, rgba(15, 15, 16, 0.78));
    bottom: 0;
    color: var(--warm-white);
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    left: 0;
    padding: var(--space-3);
    position: absolute;
    right: 0;
    z-index: 1;
}

.project-image-overlay span,
.media-slot-overlay span {
    background: var(--golden-stage);
    border-radius: 999px;
    color: var(--stage-black);
    font-size: 0.68rem;
    font-weight: 800;
    padding: 0.32rem 0.55rem;
}

.project-image-overlay div,
.media-slot-overlay div {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: end;
}

.project-image-overlay button,
.media-slot-overlay button {
    background: rgba(247, 247, 243, 0.92);
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--stage-black);
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.38rem 0.5rem;
}

.project-image-slot.is-uploading::after,
.media-slot.is-uploading::after {
    align-items: center;
    background: rgba(15, 15, 16, 0.72);
    color: var(--warm-white);
    content: "Uploading...";
    display: flex;
    font-weight: 800;
    inset: 0;
    justify-content: center;
    position: absolute;
}

.project-image-slot.is-dragging,
.media-slot.is-dragging {
    opacity: 0.52;
}

.media-manager-status {
    color: var(--deep-forest);
    font-size: 0.86rem;
    font-weight: 800;
    min-height: 1.3em;
}

.media-manager-status.is-error {
    color: var(--rust-accent);
}

.media-upload-zone {
    align-items: center;
    background: rgba(232, 228, 220, 0.45);
    border: 2px dashed var(--line-strong);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    justify-content: center;
    margin-top: var(--space-4);
    min-height: 180px;
    padding: var(--space-5);
    text-align: center;
    transition: border-color 160ms ease, background 160ms ease;
}

.media-upload-zone p,
.media-upload-zone small {
    color: var(--muted);
    margin: 0;
}

.media-upload-zone small {
    font-size: 0.78rem;
}

.media-upload-zone.is-dragover {
    background: rgba(212, 160, 23, 0.12);
    border-color: var(--golden-stage);
}

.media-upload-zone.is-uploading {
    opacity: 0.72;
    pointer-events: none;
}

.media-upload-zone.is-disabled {
    background: rgba(232, 228, 220, 0.28);
    opacity: 0.72;
}

.media-card-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    margin-top: var(--space-5);
}

.media-card {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    cursor: grab;
    display: grid;
    gap: var(--space-3);
    overflow: hidden;
    padding: var(--space-3);
}

.media-card.is-featured {
    border-color: var(--golden-stage);
    box-shadow: 0 0 0 1px rgba(212, 160, 23, 0.28), var(--shadow-soft);
}

.media-card.is-dragging {
    cursor: grabbing;
    opacity: 0.58;
}

.media-card-image {
    aspect-ratio: var(--project-media-ratio);
    background: var(--warm-gray);
    border-radius: var(--radius-sm);
    overflow: hidden;
    position: relative;
}

.media-card-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.media-card-image video {
    background: var(--stage-black);
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.media-card-type-badge {
    background: rgba(15, 15, 16, 0.72);
    border-radius: 999px;
    color: var(--warm-white);
    font-size: 0.68rem;
    font-weight: 800;
    left: var(--space-2);
    padding: 0.28rem 0.55rem;
    position: absolute;
    top: var(--space-2);
    z-index: 1;
}

.media-card-drag-hint {
    background: rgba(15, 15, 16, 0.62);
    border-radius: 999px;
    bottom: var(--space-2);
    color: var(--warm-white);
    font-size: 0.68rem;
    font-weight: 800;
    left: var(--space-2);
    padding: 0.28rem 0.5rem;
    position: absolute;
}

.media-card-fields {
    display: grid;
    gap: var(--space-3);
}

.media-card-fields .form-field {
    gap: var(--space-1);
}

.media-card-fields .form-field input {
    min-height: 38px;
    padding: 0.55rem 0.7rem;
}

.media-card-featured {
    align-items: center;
    color: var(--charcoal);
    cursor: pointer;
    display: flex;
    font-size: 0.86rem;
    font-weight: 700;
    gap: var(--space-2);
}

.media-card-featured input {
    accent-color: var(--golden-stage);
    height: 1rem;
    width: 1rem;
}

.media-card-delete {
    justify-self: start;
    width: 100%;
}

.media-manager-empty {
    color: var(--muted);
    font-size: 0.9rem;
    margin: var(--space-4) 0 0;
    text-align: center;
}

.media-manager-empty[hidden] {
    display: none;
}

.page-hero-compact .section {
    padding-bottom: var(--space-5);
    padding-top: var(--space-6);
}

.editor-back-link {
    align-items: center;
    color: var(--muted);
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 700;
    gap: 0.35rem;
    margin-bottom: var(--space-4);
    transition: color 160ms ease;
}

.editor-back-link:hover {
    color: var(--stage-black);
}

.editor-back-icon {
    height: 16px;
    width: 16px;
}

.project-editor-main {
    display: grid;
    gap: 0;
    min-width: 0;
}

.project-editor-step-header {
    display: grid;
    gap: var(--space-3);
}

.project-editor-step-intro {
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0;
}

.project-editor-steps {
    background: rgba(232, 228, 220, 0.42);
    border: 1px solid var(--line);
    border-bottom: none;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
}

.project-editor-step {
    align-items: center;
    background: transparent;
    border-bottom: 3px solid transparent;
    color: inherit;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: auto 1fr;
    padding: var(--space-4) var(--space-4) calc(var(--space-4) - 3px);
    position: relative;
    transition: background 160ms ease, border-color 160ms ease;
}

.project-editor-step + .project-editor-step {
    border-left: 1px solid var(--line);
}

.project-editor-step:hover {
    background: rgba(247, 247, 243, 0.72);
}

.project-editor-step.is-active {
    background: var(--surface);
    border-bottom-color: var(--golden-stage);
}

.project-editor-step.is-empty:not(.is-active) .project-editor-step-copy strong,
.project-editor-step.is-empty:not(.is-active) .project-editor-step-copy span {
    color: var(--muted);
}

.project-editor-step-badge {
    align-items: center;
    background: var(--warm-white);
    border: 2px solid var(--line-strong);
    border-radius: 50%;
    color: var(--charcoal);
    display: flex;
    flex-shrink: 0;
    font-size: 0.82rem;
    font-weight: 800;
    height: 2.25rem;
    justify-content: center;
    width: 2.25rem;
}

.project-editor-step.is-empty .project-editor-step-badge {
    background: transparent;
    border-style: dashed;
    color: var(--muted);
}

.project-editor-step.is-active .project-editor-step-badge {
    background: var(--stage-black);
    border-color: var(--stage-black);
    border-style: solid;
    color: var(--warm-white);
}

.project-editor-step-copy {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.project-editor-step-copy strong {
    color: var(--stage-black);
    font-size: 0.95rem;
}

.project-editor-step-copy span {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.4;
}

.project-editor-panel {
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    border-top: 1px solid var(--line);
    margin-top: 0;
}

.project-editor-panel.form-grid {
    margin-top: 0;
}

.project-editor-sidebar h2,
.project-editor-sidebar h3 {
    margin: 0;
}

.project-editor-sidebar-section {
    border-top: 1px solid var(--line);
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-4);
    padding-top: var(--space-4);
}

.project-editor-status {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: var(--space-3) 0 0;
}

.status-pill-published {
    background: rgba(30, 58, 47, 0.12);
    border-color: rgba(30, 58, 47, 0.24);
    color: var(--deep-forest);
}

.status-pill-draft {
    background: rgba(194, 65, 12, 0.1);
    border-color: rgba(194, 65, 12, 0.24);
    color: var(--rust-accent);
}

.field-hint {
    color: var(--muted);
    font-size: 0.84rem;
    margin: 0;
}

.project-visibility-form {
    display: grid;
    gap: var(--space-3);
}

.project-visibility-option {
    align-items: start;
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    cursor: pointer;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: auto 1fr;
    padding: var(--space-3);
}

.project-visibility-option:has(input:checked) {
    border-color: rgba(212, 160, 23, 0.52);
    box-shadow: 0 0 0 1px rgba(212, 160, 23, 0.18);
}

.project-visibility-option input {
    accent-color: var(--golden-stage);
    margin-top: 0.2rem;
}

.project-visibility-option strong {
    color: var(--stage-black);
    display: block;
    font-size: 0.88rem;
}

.project-visibility-option small {
    color: var(--muted);
    display: block;
    font-size: 0.78rem;
    line-height: 1.45;
    margin-top: 0.15rem;
}

.project-editor-actions .form-actions {
    flex-direction: column;
}

.project-editor-actions .button,
.project-editor-actions .button-secondary {
    justify-content: center;
    text-align: center;
    width: 100%;
}

.project-delete-link {
    border-color: rgba(194, 65, 12, 0.28);
    color: var(--rust-accent);
}

.project-media-fallback-actions {
    align-items: center;
    border-top: 1px solid var(--line);
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    padding-top: var(--space-4);
}

.standard-upload-fallback {
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.standard-upload-fallback summary {
    cursor: pointer;
    font-weight: 800;
}

.standard-upload-fallback form {
    margin-top: var(--space-4);
}

.portfolio-media-list {
    display: grid;
    gap: var(--space-4);
}

.portfolio-media-row {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-4);
    grid-template-columns: 180px 1fr;
    padding: var(--space-4);
}

.portfolio-media-row img {
    aspect-ratio: var(--project-media-ratio);
    border-radius: var(--radius-sm);
    object-fit: cover;
    width: 100%;
}

.choice-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-3);
}

.choice-pill {
    align-items: center;
    background: var(--warm-gray);
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    gap: var(--space-2);
    padding: 0.5rem 0.72rem;
}

.choice-pill input {
    accent-color: var(--golden-stage);
}

.choice-pill span {
    font-size: 0.78rem;
    font-weight: 800;
}

.alert {
    border-radius: var(--radius-sm);
    font-weight: 700;
    margin: var(--space-4) 0;
    padding: var(--space-3) var(--space-4);
}

.alert-info {
    background: rgba(30, 58, 47, 0.1);
    color: var(--deep-forest);
}

.alert-warning {
    background: rgba(212, 160, 23, 0.18);
    color: var(--theatre-brown);
}

.empty-state {
    margin: 0 auto;
    max-width: 680px;
    padding: var(--space-8) var(--space-5);
    text-align: center;
}

.empty-state-icon {
    align-items: center;
    background: var(--golden-stage);
    border-radius: var(--radius-md);
    color: var(--stage-black);
    display: inline-flex;
    font-weight: 800;
    height: 68px;
    justify-content: center;
    margin-bottom: var(--space-4);
    width: 68px;
}

.site-footer {
    background: var(--stage-black);
    color: rgba(247, 247, 243, 0.72);
}

.footer-grid {
    display: grid;
    gap: var(--space-6);
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    padding-bottom: var(--space-7);
    padding-top: var(--space-7);
}

.footer-grid h2 {
    color: var(--warm-white);
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    margin-bottom: var(--space-3);
    text-transform: uppercase;
}

.footer-grid a:not(.brand) {
    color: rgba(247, 247, 243, 0.7);
    display: block;
    margin: var(--space-2) 0;
}

.footer-grid a:not(.brand):hover {
    color: var(--warm-white);
}

.footer-bottom {
    border-top: 1px solid rgba(247, 247, 243, 0.12);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
    padding-bottom: var(--space-4);
    padding-top: var(--space-4);
}

.footer-legal-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.footer-legal-links a {
    color: rgba(247, 247, 243, 0.7);
}

.footer-legal-links a:hover {
    color: var(--warm-white);
}

.footer-brand-block .footer-tagline {
    color: rgba(247, 247, 243, 0.78);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.45;
    margin: var(--space-3) 0 0;
    max-width: 28ch;
}

.footer-seo-line {
    color: rgba(247, 247, 243, 0.62);
    max-width: 42ch;
}

.blog-index {
    display: grid;
    gap: var(--space-5);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
    width: 100%;
}

@media (max-width: 800px) {
    .blog-index {
        grid-template-columns: 1fr;
    }
}

.blog-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

.blog-card__media {
    aspect-ratio: 16 / 9;
    background: rgba(15, 15, 16, 0.06);
    display: block;
    overflow: hidden;
}

.blog-card__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.blog-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: var(--space-4);
}

.blog-card__meta,
.blog-post__meta {
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.9rem;
    gap: 0.45rem;
    margin: 0 0 var(--space-3);
}

.blog-card__title {
    font-size: 1.35rem;
    margin: 0 0 var(--space-3);
}

.blog-card__title a {
    color: inherit;
}

.blog-card__title a:hover {
    color: var(--golden-stage);
}

.blog-card__excerpt {
    color: rgba(15, 15, 16, 0.78);
    flex: 1 1 auto;
    line-height: 1.55;
    margin: 0 0 var(--space-4);
}

.blog-card__more {
    font-weight: 700;
}

.blog-post__hero-image {
    border-radius: var(--radius-md);
    display: block;
    margin: 0 auto var(--space-5);
    max-height: 480px;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
}

.blog-post__body {
    max-width: none;
    width: 100%;
}

.blog-post__body h2,
.blog-post__body h3,
.blog-post__body h4 {
    margin: var(--space-5) 0 var(--space-3);
}

.blog-post__body h2:first-child,
.blog-post__body h3:first-child,
.blog-post__body h4:first-child {
    margin-top: 0;
}

.blog-post__body p,
.blog-post__body li {
    color: rgba(15, 15, 16, 0.84);
    line-height: 1.7;
}

.blog-post__body ul,
.blog-post__body ol {
    margin: 0 0 var(--space-4);
    padding-left: 1.25rem;
}

.blog-post__body li + li {
    margin-top: 0.4rem;
}

.blog-post__body img {
    border-radius: var(--radius-sm);
    display: block;
    height: auto;
    margin: var(--space-4) 0;
    max-width: 100%;
}

.blog-post__body figure {
    margin: var(--space-5) 0;
}

.blog-post__body figcaption {
    color: var(--muted);
    font-size: 0.88rem;
    margin-top: 0.5rem;
}

.blog-post__body hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: var(--space-5) 0;
}

.blog-table-wrap {
    margin: var(--space-4) 0;
    overflow-x: auto;
}

.blog-table {
    border-collapse: collapse;
    font-size: 0.9rem;
    min-width: 640px;
    width: 100%;
}

.blog-table th,
.blog-table td {
    border-bottom: 1px solid var(--line);
    padding: 0.65rem 0.75rem;
    text-align: left;
    vertical-align: top;
}

.blog-table th {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.blog-post__back {
    margin-top: var(--space-5);
}

.blog-post__back a {
    font-weight: 700;
}

.blog-admin-editor .ql-toolbar.ql-snow,
.blog-admin-editor .ql-container.ql-snow {
    border-color: var(--line);
}

.blog-admin-editor .ql-container.ql-snow {
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    font-family: inherit;
    font-size: 1rem;
    min-height: 360px;
}

.blog-admin-editor .ql-toolbar.ql-snow {
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

.blog-admin-editor .ql-editor {
    min-height: 360px;
}

.blog-admin-featured-preview {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    margin-top: var(--space-3);
    max-width: 420px;
    overflow: hidden;
}

.blog-admin-featured-preview img {
    display: block;
    height: auto;
    width: 100%;
}

.legal-meta {
    color: var(--muted);
    font-size: 0.9rem;
    margin: var(--space-3) 0 0;
}

.legal-doc {
    max-width: 760px;
}

.legal-doc h2 {
    font-size: 1.15rem;
    margin: var(--space-5) 0 var(--space-3);
}

.legal-doc h2:first-child {
    margin-top: 0;
}

.legal-doc p,
.legal-doc li {
    color: rgba(15, 15, 16, 0.82);
    line-height: 1.65;
}

.legal-doc ul {
    margin: 0 0 var(--space-3);
    padding-left: 1.2rem;
}

.legal-doc li + li {
    margin-top: 0.45rem;
}

.legal-related {
    border-top: 1px solid var(--line);
    margin-top: var(--space-5);
    padding-top: var(--space-4);
}

@media (max-width: 980px) {
    .hero-grid,
    .home-hero-layout,
    .finder-panel,
    .discovery-search-card,
    .finder-form,
    .content-grid,
    .content-grid--form-left,
    .content-grid--taxonomy,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .home-hero-layout {
        gap: var(--space-5);
    }

    .home-hero-feature {
        max-width: none;
    }

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

    .hero {
        min-height: auto;
    }

    .finder-section {
        margin-top: calc(var(--space-6) * -1);
    }

    .project-editor-steps {
        grid-template-columns: 1fr;
    }

    .project-editor-step + .project-editor-step {
        border-left: 0;
        border-top: 1px solid var(--line);
    }

    .project-editor-step {
        grid-template-columns: auto 1fr;
    }

    .maker-layout,
    .maker-featured-grid,
    .maker-service-grid {
        grid-template-columns: 1fr;
    }

    .maker-hero-identity {
        flex-direction: column;
    }

    .maker-stats-shell,
    .maker-join-band-shell {
        align-items: stretch;
        flex-direction: column;
    }

    .maker-section-head {
        align-items: start;
        flex-direction: column;
    }

    .maker-hero-actions .button {
        justify-content: center;
    }

    .creator-results-toolbar {
        align-items: stretch;
    }
}

@media (max-width: 980px) {
    .nav-primary,
    .user-menu-panel {
        display: none;
    }

    .nav-shell {
        gap: var(--space-2);
    }

    .brand {
        flex: 1 1 auto;
        max-width: min(48vw, 200px);
    }

    .brand-logo-hor {
        height: 18px;
    }

    .nav-actions {
        gap: var(--space-2);
    }

    .nav-login {
        font-size: 0.8rem;
        padding: 0.45rem 0.35rem;
    }

    .nav-join {
        font-size: 0.78rem;
        min-height: 34px !important;
        padding-inline: 0.7rem !important;
    }

    .user-menu-toggle {
        pointer-events: none;
    }

    .user-menu-chevron {
        display: none;
    }

    .nav-toggle {
        display: block;
    }

    .nav-drawer {
        left: 0;
        position: absolute;
        right: 0;
        top: 100%;
    }
}

@media (max-width: 900px) {
    .steps-grid,
    .dashboard-grid,
    .admin-grid,
    .profile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-grid--editor {
        grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    body {
        font-size: 14px;
    }

    html,
    body {
        overflow-x: clip;
    }

    .nav-shell,
    .section,
    .footer-grid,
    .footer-bottom,
    .maker-hero-shell,
    .maker-stats-shell,
    .maker-profile-nav-shell,
    .maker-join-band-shell,
    .finder-section {
        padding-left: max(var(--space-4), env(safe-area-inset-left, 0px));
        padding-right: max(var(--space-4), env(safe-area-inset-right, 0px));
    }

    .section {
        padding-bottom: var(--space-7);
        padding-top: var(--space-7);
    }

    .discovery-page {
        padding-top: var(--space-4);
    }

    .discovery-search-card.is-toolbar {
        padding: var(--space-2) var(--space-3);
    }

    .discovery-search-card.is-toolbar .discovery-search-lead {
        display: none;
    }

    .discovery-search-form {
        gap: var(--space-2);
    }

    .discovery-search-toolbar {
        display: contents;
    }

    .discovery-search-toolbar-controls {
        align-items: center;
        display: grid;
        flex: none;
        gap: var(--space-2);
        grid-template-columns: 1fr;
        width: 100%;
    }

    .discovery-search-input-wrap {
        width: 100%;
    }

    .discovery-search-input-wrap input {
        height: 44px;
    }

    .discovery-search-toolbar-controls .button,
    .discovery-search-toolbar-controls .discovery-filter-toggle {
        flex: none;
        justify-content: center;
        min-height: 42px;
        width: 100%;
    }

    .hero {
        padding-left: var(--space-4);
        padding-right: var(--space-4);
    }

    .hero h1,
    .page-hero h1 {
        font-size: clamp(1.75rem, 7vw, 2.35rem);
        line-height: 1.08;
    }

    .page-hero .section {
        padding-bottom: var(--space-5);
        padding-top: var(--space-5);
    }

    .hero-actions,
    .page-hero .hero-actions {
        flex-direction: column;
    }

    .hero-actions .button,
    .page-hero .hero-actions .button {
        justify-content: center;
        width: 100%;
    }

    .project-grid,
    .creator-grid,
    .home-media-grid,
    .steps-grid,
    .dashboard-grid,
    .admin-grid,
    .profile-grid,
    .admin-grid--editor,
    .stat-grid {
        grid-template-columns: 1fr;
    }

    .form-row--2,
    .form-row--3,
    .admin-plan-meta-panels {
        grid-template-columns: 1fr;
    }

    .section-header,
    .maker-section-head,
    .footer-bottom,
    .creator-results-toolbar {
        align-items: start;
        flex-direction: column;
    }

    .section-header .button,
    .section-header .button-secondary,
    .maker-section-head .button,
    .maker-section-head .button-secondary {
        justify-content: center;
        width: 100%;
    }

    .creator-results-toolbar .creator-sort-form {
        width: 100%;
    }

    .creator-sort-form select {
        width: 100%;
    }

    .media-upload-grid {
        grid-template-columns: 1fr;
    }

    .portfolio-media-row,
    .project-gallery {
        grid-template-columns: 1fr;
    }

    .media-viewer-panel {
        padding: var(--space-4);
    }

    .media-viewer-nav {
        font-size: 1.5rem;
        height: 2.4rem;
        width: 2.4rem;
    }

    .media-viewer-stage,
    .media-viewer-stage img,
    .media-viewer-stage video {
        max-height: calc(100vh - 10rem);
    }

    .project-image-grid,
    .media-slot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-image-slot.is-feature-slot,
    .media-slot.is-feature-slot {
        grid-column: span 2;
        min-height: 240px;
    }

    .detail-list div {
        grid-template-columns: 1fr;
    }

    .project-sidebar-copy h2 + h2 {
        margin-top: var(--space-4);
    }

    .maker-hero {
        min-height: 0;
    }

    .maker-hero-overlay {
        background: linear-gradient(180deg, rgba(15, 15, 16, 0.22) 0%, rgba(15, 15, 16, 0.94) 100%);
    }

    .maker-hero-shell {
        padding-bottom: var(--space-5);
        padding-top: var(--space-6);
    }

    .maker-hero-identity {
        align-items: flex-start;
        max-width: none;
        text-align: left;
    }

    .maker-hero-location {
        justify-content: flex-start;
        text-align: left;
    }

    .maker-hero-actions {
        justify-content: stretch;
        width: 100%;
    }

    .maker-hero-actions .button {
        width: 100%;
    }

    .maker-hero-skills {
        justify-content: flex-start;
    }

    .maker-profile-nav {
        margin-top: 0;
        padding: var(--space-4) 0;
    }

    .maker-workspace-nav {
        top: 64px;
    }

    .maker-profile-nav-grid {
        gap: var(--space-2);
    }

    .maker-profile-nav-card {
        min-height: 92px;
        padding: var(--space-3);
    }

    .maker-profile-nav-icon {
        height: 38px;
        width: 38px;
    }

    .maker-stats-shell {
        gap: var(--space-3);
    }

    .maker-stat {
        width: 100%;
    }

    .maker-panel,
    .maker-sidebar-card {
        padding: var(--space-4);
    }

    .maker-join-actions {
        flex-direction: column;
        width: 100%;
    }

    .maker-join-actions .button,
    .maker-join-actions .maker-text-link {
        justify-content: center;
        text-align: center;
        width: 100%;
    }

    .maker-link-list a {
        min-height: 48px;
    }

    .project-card-body,
    .creator-card-body {
        padding: var(--space-4);
    }

    .project-card h2,
    .maker-panel h2 {
        font-size: 1.25rem;
    }
}

@media (max-width: 400px) {
    .brand {
        max-width: min(42vw, 160px);
    }

    .brand-logo-hor {
        height: 16px;
    }

    .nav-join {
        padding-inline: 0.55rem !important;
    }
}

.creator-discovery-hero {
    background: var(--surface);
    border-bottom: 1px solid var(--line);
}

.creator-discovery-hero .section {
    padding-bottom: var(--space-7);
    padding-top: var(--space-7);
}

.creator-discovery-hero h1 {
    max-width: 760px;
}

.creator-discovery-hero .lead {
    max-width: 680px;
}

.creator-search-panel {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    display: grid;
    gap: var(--space-4);
    margin-top: var(--space-5);
    padding: var(--space-5);
}

.creator-search-primary {
    align-items: end;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr auto auto;
}

.creator-search-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.creator-search-field-wide {
    grid-column: 1 / -1;
}

.creator-search-skills {
    border: 0;
    grid-column: 1 / -1;
    margin: 0;
    min-width: 0;
    padding: 0;
}

.creator-search-skills legend {
    font-size: 0.82rem;
    font-weight: 800;
    margin-bottom: var(--space-2);
}

.creator-skill-options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.creator-search-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    grid-column: 1 / -1;
}

.creator-search-submit-mobile,
.creator-filter-apply {
    display: none;
}

.creator-filter-toggle {
    white-space: nowrap;
}

.creator-results-section {
    padding-top: var(--space-7);
}

.creator-results-header {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
    margin-bottom: var(--space-5);
}

.creator-results-header h2 {
    margin: 0 0 0.35rem;
}

.creator-results-header p {
    color: var(--muted);
    font-size: 0.88rem;
    margin: 0;
}

.creator-sort-form {
    margin: 0;
}

.creator-sort-label select {
    background: var(--warm-white);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 700;
    min-height: 40px;
    padding: 0.45rem 0.75rem;
}

.creator-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.creator-card {
    background: var(--warm-white);
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    display: grid;
    overflow: hidden;
    transition: box-shadow 160ms ease, transform 160ms ease;
}

.creator-card:hover {
    box-shadow: var(--shadow-card);
    transform: translateY(-2px);
}

.creator-card-media {
    aspect-ratio: var(--project-media-ratio);
    background: var(--charcoal);
    display: block;
    overflow: hidden;
    position: relative;
}

.creator-card-media.has-image img {
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
    width: 100%;
}

.creator-card:hover .creator-card-media.has-image img {
    transform: scale(1.03);
}

.creator-card-fallback {
    align-items: center;
    color: rgba(247, 247, 243, 0.82);
    display: flex;
    font-size: 2rem;
    font-weight: 800;
    height: 100%;
    justify-content: center;
    letter-spacing: -0.04em;
}

.creator-card-body {
    display: grid;
    gap: var(--space-2);
    padding: var(--space-4);
}

.creator-card-body h2 {
    font-size: 1.02rem;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0;
}

.creator-card-role {
    color: var(--golden-stage);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin: 0;
    text-transform: uppercase;
}

.creator-card-location {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
    margin: 0;
}

.creator-card-bio {
    color: var(--muted);
    display: -webkit-box;
    font-size: 0.88rem;
    line-height: 1.45;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.creator-card-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.creator-card-skills span {
    background: var(--warm-gray);
    border-radius: 999px;
    color: var(--stage-black);
    font-size: 0.68rem;
    font-weight: 800;
    padding: 0.32rem 0.55rem;
}

.creator-card-stats {
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.76rem;
    font-weight: 700;
    gap: var(--space-3);
}

.creator-card-cta {
    justify-self: start;
    margin-top: var(--space-1);
    min-height: 36px;
    padding: 0.45rem 0.85rem !important;
}

@media (max-width: 980px) {
    .discovery-search-card:not(.is-toolbar) {
        grid-template-columns: 1fr;
    }

    .discovery-search-card.is-toolbar {
        padding: var(--space-2) var(--space-3);
    }

    .discovery-search-card.is-toolbar .discovery-search-lead {
        display: none;
    }

    .discovery-search-form {
        gap: var(--space-2);
    }

    .discovery-search-toolbar {
        display: contents;
    }

    .discovery-search-toolbar-controls {
        align-items: center;
        display: grid;
        flex: none;
        gap: var(--space-2);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .discovery-search-input-wrap {
        grid-column: 1 / -1;
        width: 100%;
    }

    .discovery-search-toolbar-controls .button,
    .discovery-search-toolbar-controls .discovery-filter-toggle {
        flex: none;
        font-size: 0.82rem;
        justify-content: center;
        line-height: 1.15;
        min-height: 42px;
        min-width: 0;
        padding-block: 0.55rem;
        padding-inline: 0.65rem;
        white-space: normal;
        width: 100%;
    }

    .discovery-search-card.is-toolbar .discovery-search-fields-drawer {
        grid-template-columns: 1fr;
    }

    .discovery-search-fields-drawer.is-open {
        display: grid;
        margin-top: var(--space-2);
    }

    .discovery-search-fields-drawer.is-collapsed {
        display: none;
        margin: 0;
        padding: 0;
    }

    .discovery-filter-apply {
        justify-content: center;
        width: 100%;
    }

    .creator-search-primary {
        grid-template-columns: 1fr auto;
    }

    .creator-search-submit,
    .creator-filter-apply {
        display: none;
    }

    .creator-search-submit-mobile,
    .creator-filter-toggle {
        display: inline-flex;
    }

    .creator-search-grid-drawer {
        background: var(--warm-white);
        border: 1px solid var(--line);
        border-radius: var(--radius-md);
        margin-top: var(--space-2);
        padding: var(--space-4);
    }

    .creator-search-grid-drawer.is-open {
        display: grid;
    }

    .creator-search-grid-drawer[hidden] {
        display: none;
    }

    .creator-search-grid {
        grid-template-columns: 1fr;
    }

    .creator-filter-apply {
        display: inline-flex;
        width: 100%;
        justify-content: center;
    }
}

@media (min-width: 981px) {
    .discovery-search-submit-mobile {
        display: none !important;
    }

    .discovery-search-card.is-toolbar .discovery-search-fields-drawer.is-collapsed {
        display: grid !important;
        margin-top: var(--space-3);
        padding-top: var(--space-3);
    }

    .discovery-search-card.is-toolbar .discovery-filter-toggle {
        display: none;
    }

    .creator-search-submit-mobile,
    .creator-filter-toggle,
    .creator-filter-apply {
        display: none !important;
    }

    .creator-search-grid-drawer[hidden] {
        display: grid !important;
    }
}

/* Register / pricing page */
body.register-page {
    background: var(--stage-black);
}

.register-hero {
    background:
        linear-gradient(180deg, rgba(15, 15, 16, 0.72) 0%, rgba(15, 15, 16, 0.92) 100%),
        radial-gradient(circle at 18% 12%, rgba(212, 160, 23, 0.16), transparent 22rem),
        radial-gradient(circle at 82% 78%, rgba(212, 160, 23, 0.1), transparent 18rem),
        linear-gradient(135deg, #121214, var(--charcoal));
    color: var(--warm-white);
    min-height: calc(100vh - 72px);
    overflow: hidden;
    padding: var(--space-7) var(--space-5) var(--space-8);
    position: relative;
}

.register-hero::before {
    background:
        linear-gradient(90deg, rgba(247, 247, 243, 0.04) 1px, transparent 1px),
        linear-gradient(rgba(247, 247, 243, 0.03) 1px, transparent 1px);
    background-size: 64px 64px;
    content: "";
    inset: 0;
    opacity: 0.35;
    pointer-events: none;
    position: absolute;
}

.register-shell {
    margin: 0 auto;
    max-width: 1180px;
    position: relative;
    z-index: 1;
}

.register-layout {
    align-items: start;
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
}

.register-panel {
    background: #f5f0e8;
    border: 1px solid rgba(15, 15, 16, 0.06);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    color: var(--stage-black);
    padding: clamp(var(--space-5), 3vw, var(--space-7));
}

.register-panel-head {
    align-items: flex-start;
    display: flex;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.register-panel-icon {
    align-items: center;
    background: rgba(212, 160, 23, 0.14);
    border: 1px solid rgba(212, 160, 23, 0.28);
    border-radius: 999px;
    color: var(--golden-stage);
    display: inline-flex;
    flex-shrink: 0;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.register-panel h1 {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.65rem, 2.4vw, 2.15rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin: 0;
}

.register-panel-lead {
    color: rgba(15, 15, 16, 0.68);
    margin: var(--space-2) 0 0;
    max-width: 38rem;
}

.register-form {
    margin-top: var(--space-4);
}

.register-fields {
    display: grid;
    gap: var(--space-4);
}

.register-panel .form-field span {
    color: rgba(15, 15, 16, 0.82);
}

.register-panel .form-field input {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(15, 15, 16, 0.12);
    border-radius: var(--radius-sm);
    padding: 0.82rem 0.95rem;
}

.register-panel .form-field input:focus {
    border-color: var(--golden-stage);
    outline: none;
}

.register-password-wrap {
    display: grid;
    position: relative;
}

.register-password-wrap input {
    padding-right: 2.75rem;
    width: 100%;
}

.register-password-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: rgba(15, 15, 16, 0.52);
    display: inline-flex;
    height: 100%;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 0.35rem;
    top: 0;
    width: 2.25rem;
}

.register-password-toggle:hover {
    color: var(--stage-black);
}

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

.register-submit {
    justify-content: center;
    margin-top: var(--space-5);
    min-height: 48px;
    width: 100%;
}

.register-trust {
    align-items: center;
    color: rgba(15, 15, 16, 0.58);
    display: flex;
    font-size: 0.82rem;
    gap: var(--space-2);
    justify-content: center;
    margin-top: var(--space-4);
}

.register-trust-lock {
    font-size: 0.9rem;
}

.register-login-link {
    color: rgba(15, 15, 16, 0.62);
    font-size: 0.88rem;
    margin: var(--space-3) 0 0;
    text-align: center;
}

.register-login-link a {
    color: var(--stage-black);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

.register-pricing {
    display: grid;
    gap: var(--space-3);
}

.register-pricing-eyebrow {
    color: rgba(247, 247, 243, 0.72);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    margin: 0;
    text-transform: uppercase;
}

.register-plan-list {
    display: grid;
    gap: var(--space-2);
}

.register-plan-card {
    background: rgba(15, 15, 16, 0.58);
    border: 1px solid rgba(247, 247, 243, 0.12);
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.register-plan-card.is-selected {
    background: #f5f0e8;
    border-color: var(--golden-stage);
    box-shadow: 0 0 0 1px rgba(212, 160, 23, 0.28);
    color: var(--stage-black);
}

.register-plan-card.is-disabled {
    opacity: 0.72;
}

.register-plan-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: flex;
    gap: 0.65rem;
    padding: 0.72rem 0.85rem;
    text-align: left;
    width: 100%;
}

.register-plan-card.is-disabled .register-plan-trigger {
    cursor: not-allowed;
}

.register-plan-trigger:hover:not(:disabled) {
    background: rgba(247, 247, 243, 0.04);
}

.register-plan-card.is-selected .register-plan-trigger:hover:not(:disabled) {
    background: rgba(15, 15, 16, 0.03);
}

.register-plan-summary {
    display: grid;
    flex: 1;
    gap: 0.1rem;
    min-width: 0;
}

.register-plan-positioning {
    color: rgba(15, 15, 16, 0.52);
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.register-plan-card:not(.is-selected) .register-plan-positioning {
    color: rgba(247, 247, 243, 0.48);
}

.register-plan-card.is-pro.is-selected {
    border-color: rgba(212, 160, 23, 0.72);
    box-shadow: 0 0 0 1px rgba(212, 160, 23, 0.36), 0 10px 28px rgba(15, 15, 16, 0.12);
}

.register-plan-card.is-popular:not(.is-selected) {
    border-color: rgba(212, 160, 23, 0.28);
}

.register-plan-feature-group {
    color: rgba(15, 15, 16, 0.52);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: var(--space-2) 0 0.35rem;
    text-transform: uppercase;
}

.register-plan-card:not(.is-selected) .register-plan-feature-group {
    color: rgba(247, 247, 243, 0.46);
}

.register-plan-features.is-muted li {
    color: rgba(15, 15, 16, 0.48);
}

.register-plan-card:not(.is-selected) .register-plan-features.is-muted li {
    color: rgba(247, 247, 243, 0.42);
}

.register-plan-features.is-muted li::before {
    color: rgba(15, 15, 16, 0.28);
    content: "✕";
}

.register-plan-card:not(.is-selected) .register-plan-features.is-muted li::before {
    color: rgba(247, 247, 243, 0.28);
}

.register-plan-badge {
    background: var(--golden-stage);
    border-radius: 999px;
    color: var(--stage-black);
    flex-shrink: 0;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1;
    padding: 0.22rem 0.45rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.register-plan-icon {
    align-items: center;
    background: rgba(212, 160, 23, 0.14);
    border: 1px solid rgba(212, 160, 23, 0.24);
    border-radius: 999px;
    color: var(--golden-stage);
    display: inline-flex;
    flex-shrink: 0;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.register-plan-card:not(.is-selected) .register-plan-icon {
    background: rgba(247, 247, 243, 0.06);
    border-color: rgba(247, 247, 243, 0.12);
    color: rgba(247, 247, 243, 0.82);
}

.register-plan-name {
    display: block;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.2;
}

.register-plan-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    margin: 0;
}

.register-plan-price strong {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.register-plan-price span {
    color: rgba(15, 15, 16, 0.56);
    font-size: 0.72rem;
    font-weight: 600;
}

.register-plan-card:not(.is-selected) .register-plan-price span {
    color: rgba(247, 247, 243, 0.58);
}

.register-plan-chevron {
    align-items: center;
    color: rgba(15, 15, 16, 0.42);
    display: inline-flex;
    flex-shrink: 0;
    transition: transform 180ms ease;
}

.register-plan-card:not(.is-selected) .register-plan-chevron {
    color: rgba(247, 247, 243, 0.48);
}

.register-plan-card.is-expanded .register-plan-chevron {
    transform: rotate(180deg);
}

.register-plan-body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 200ms ease;
}

.register-plan-card.is-expanded .register-plan-body {
    grid-template-rows: 1fr;
}

.register-plan-body-inner {
    min-height: 0;
    overflow: hidden;
    padding: 0 0.85rem;
}

.register-plan-card.is-expanded .register-plan-body-inner {
    padding-bottom: 0.85rem;
}

.register-plan-tagline {
    color: rgba(15, 15, 16, 0.64);
    font-size: 0.78rem;
    line-height: 1.45;
    margin: 0 0 var(--space-2);
}

.register-plan-card:not(.is-selected) .register-plan-tagline {
    color: rgba(247, 247, 243, 0.68);
}

.register-plan-features {
    display: grid;
    gap: 0.3rem 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.register-plan-features li {
    align-items: flex-start;
    color: rgba(15, 15, 16, 0.78);
    display: flex;
    font-size: 0.74rem;
    gap: 0.4rem;
    line-height: 1.35;
}

.register-plan-card:not(.is-selected) .register-plan-features li {
    color: rgba(247, 247, 243, 0.78);
}

.register-plan-card.is-disabled .register-plan-features li {
    color: rgba(247, 247, 243, 0.42);
}

.register-plan-features li::before {
    color: var(--golden-stage);
    content: "✓";
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.35;
}

.register-plan-card.is-disabled .register-plan-features li::before {
    color: rgba(247, 247, 243, 0.28);
}

.register-pricing-footnote {
    align-items: center;
    color: rgba(247, 247, 243, 0.62);
    display: flex;
    font-size: 0.78rem;
    gap: var(--space-2);
    justify-content: center;
    line-height: 1.4;
    margin: var(--space-1) 0 0;
    text-align: center;
}

.pricing-plans-section {
    padding-top: 0;
}

.pricing-plan-list {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.pricing-page .register-plan-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    color: var(--stage-black);
}

.pricing-page .register-plan-card.is-selected {
    background: #f5f0e8;
    border-color: var(--golden-stage);
    box-shadow: 0 0 0 1px rgba(212, 160, 23, 0.28), var(--shadow-soft);
}

.pricing-page .register-plan-card.is-popular:not(.is-selected) {
    border-color: rgba(212, 160, 23, 0.45);
}

.pricing-page .register-plan-card.is-pro.is-selected {
    border-color: rgba(212, 160, 23, 0.72);
    box-shadow: 0 0 0 1px rgba(212, 160, 23, 0.36), var(--shadow-card);
}

.pricing-page .register-plan-card:not(.is-selected) .register-plan-positioning,
.pricing-page .register-plan-card:not(.is-selected) .register-plan-feature-group {
    color: var(--muted);
}

.pricing-page .register-plan-card:not(.is-selected) .register-plan-icon {
    background: rgba(212, 160, 23, 0.12);
    border-color: rgba(212, 160, 23, 0.24);
    color: var(--golden-stage);
}

.pricing-page .register-plan-card:not(.is-selected) .register-plan-price span {
    color: var(--muted);
}

.pricing-page .register-plan-card:not(.is-selected) .register-plan-features li,
.pricing-page .register-plan-card:not(.is-selected) .register-plan-tagline {
    color: rgba(15, 15, 16, 0.78);
}

.pricing-page .register-plan-card:not(.is-selected) .register-plan-features.is-muted li {
    color: rgba(15, 15, 16, 0.48);
}

.pricing-page .register-plan-card:not(.is-selected) .register-plan-features.is-muted li::before {
    color: rgba(15, 15, 16, 0.28);
}

.pricing-page .register-plan-card.is-disabled .register-plan-features li,
.pricing-page .register-plan-card.is-disabled .register-plan-features li::before {
    color: rgba(15, 15, 16, 0.38);
}

.pricing-page .register-plan-card .register-plan-body {
    grid-template-rows: 1fr;
}

.pricing-page .register-plan-head {
    cursor: default;
    padding: var(--space-4);
}

.pricing-page .register-plan-body-inner {
    padding: 0 var(--space-4) var(--space-4);
}

.pricing-plan-action {
    margin-top: var(--space-4);
}

.pricing-plan-action .button.is-disabled {
    cursor: default;
    opacity: 0.72;
    pointer-events: none;
}

.pricing-footnote {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.5;
    margin: var(--space-6) 0 0;
    text-align: center;
}

.pricing-footnote a {
    color: var(--golden-stage);
    font-weight: 700;
    margin-left: 0.35rem;
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

/* Pricing page v2 */
.pricing-page {
    --pricing-free: #2f8f5b;
    --pricing-free-soft: rgba(47, 143, 91, 0.12);
    --pricing-plus: #c9921d;
    --pricing-plus-soft: rgba(201, 146, 29, 0.14);
    --pricing-pro: #6b4fa3;
    --pricing-pro-soft: rgba(107, 79, 163, 0.14);
}

.pricing-hero {
    padding: var(--space-7) 0 var(--space-5);
}

.pricing-hero-eyebrow {
    color: var(--golden-stage);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    margin: 0 0 var(--space-3);
    text-transform: uppercase;
}

.pricing-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.03em;
    line-height: 1.08;
    margin: 0;
    max-width: 14ch;
}

.pricing-hero-lead {
    color: var(--muted);
    font-size: 1.05rem;
    line-height: 1.55;
    margin: var(--space-4) 0 0;
    max-width: 34rem;
}

.pricing-cards-section,
.pricing-compare-section,
.pricing-fees-section {
    padding-top: 0;
}

.pricing-compare-section {
    padding-bottom: var(--space-8);
}

.pricing-fees-section {
    padding-bottom: var(--space-6);
}

.pricing-fees {
    max-width: 52rem;
}

.pricing-fees h2 {
    margin: var(--space-2) 0 var(--space-3);
}

.pricing-fees-lead {
    color: var(--muted);
    margin: 0 0 var(--space-4);
    max-width: 40rem;
}

.pricing-fees-table-wrap {
    overflow-x: auto;
}

.pricing-fees-table {
    border-collapse: collapse;
    width: 100%;
}

.pricing-fees-table th,
.pricing-fees-table td {
    border-bottom: 1px solid var(--line);
    padding: var(--space-3) var(--space-3) var(--space-3) 0;
    text-align: left;
    vertical-align: top;
}

.pricing-fees-table thead th {
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.pricing-fees-table tbody th {
    font-weight: 600;
}

.pricing-compare-details {
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 0;
}

.pricing-compare-summary {
    cursor: pointer;
    font-weight: 600;
    list-style: none;
    padding: var(--space-4) var(--space-5);
}

.pricing-compare-summary::-webkit-details-marker {
    display: none;
}

.pricing-compare-summary::after {
    color: var(--muted);
    content: '+';
    float: right;
    font-weight: 500;
}

.pricing-compare-details[open] .pricing-compare-summary::after {
    content: '−';
}

.pricing-compare-details-body {
    border-top: 1px solid var(--line);
    padding: var(--space-4) var(--space-5) var(--space-5);
}

.posting-access-notice p {
    margin: 0 0 var(--space-2);
}

.posting-access-notice p:last-child {
    margin-bottom: 0;
}

.posting-access-notice__price,
.posting-access-notice__link {
    font-size: 0.95rem;
}

.posting-billing-live {
    margin-top: var(--space-3);
}

.posting-billing-live .posting-access-notice__price {
    margin-top: var(--space-2);
    font-weight: 600;
}

.pricing-tier-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-tier-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-5);
    position: relative;
}

.pricing-tier-card--free,
.pricing-tier-card--green {
    border-color: rgba(47, 143, 91, 0.28);
}

.pricing-tier-card--plus,
.pricing-tier-card--gold {
    border-color: rgba(201, 146, 29, 0.42);
    box-shadow: 0 12px 32px rgba(201, 146, 29, 0.08);
}

.pricing-tier-card--pro,
.pricing-tier-card--purple {
    border-color: rgba(107, 79, 163, 0.34);
}

.pricing-tier-card--neutral {
    border-color: rgba(28, 28, 28, 0.12);
}

.pricing-tier-card.is-current {
    box-shadow: var(--shadow-card);
}

.pricing-tier-badge {
    background: var(--golden-stage);
    border-radius: 999px;
    color: var(--stage-black);
    font-size: 0.62rem;
    font-weight: 800;
    left: 50%;
    letter-spacing: 0.08em;
    padding: 0.28rem 0.65rem;
    position: absolute;
    text-transform: uppercase;
    top: 0;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.pricing-tier-card--pro .pricing-tier-badge,
.pricing-tier-card--purple .pricing-tier-badge {
    background: var(--pricing-pro);
    color: var(--warm-white);
}

.pricing-tier-head {
    display: grid;
    gap: var(--space-2);
    padding-top: var(--space-2);
}

.pricing-tier-name {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0;
}

.pricing-tier-positioning {
    color: var(--golden-stage);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

.pricing-tier-highlight {
    color: var(--stage-black);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}

.pricing-tier-tagline {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.45;
    margin: 0;
    min-height: 2.8em;
}

.pricing-tier-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: var(--space-2);
}

.pricing-tier-price strong {
    font-size: clamp(2rem, 3vw, 2.6rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
}

.pricing-tier-card--free .pricing-tier-price strong,
.pricing-tier-card--green .pricing-tier-price strong {
    color: var(--pricing-free);
}

.pricing-tier-card--plus .pricing-tier-price strong,
.pricing-tier-card--gold .pricing-tier-price strong {
    color: var(--pricing-plus);
}

.pricing-tier-card--pro .pricing-tier-price strong,
.pricing-tier-card--purple .pricing-tier-price strong {
    color: var(--pricing-pro);
}

.pricing-tier-price span {
    color: var(--muted);
    font-size: 0.95rem;
    font-weight: 600;
}

.pricing-tier-features {
    display: grid;
    gap: 0.72rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pricing-tier-features li {
    align-items: flex-start;
    display: flex;
    gap: 0.65rem;
}

.pricing-tier-feature-icon {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    height: 18px;
    justify-content: center;
    margin-top: 0.1rem;
    width: 18px;
}

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

.pricing-tier-feature-text {
    font-size: 0.92rem;
    line-height: 1.45;
}

.pricing-tier-features .is-included .pricing-tier-feature-icon,
.pricing-tier-features .is-included .pricing-tier-feature-text {
    color: var(--stage-black);
}

.pricing-tier-card--free .pricing-tier-features .is-included strong,
.pricing-tier-card--free .pricing-tier-features .is-included .pricing-tier-feature-icon,
.pricing-tier-card--green .pricing-tier-features .is-included strong,
.pricing-tier-card--green .pricing-tier-features .is-included .pricing-tier-feature-icon {
    color: var(--pricing-free);
}

.pricing-tier-card--plus .pricing-tier-features .is-included strong,
.pricing-tier-card--plus .pricing-tier-features .is-included .pricing-tier-feature-icon,
.pricing-tier-card--gold .pricing-tier-features .is-included strong,
.pricing-tier-card--gold .pricing-tier-features .is-included .pricing-tier-feature-icon {
    color: var(--pricing-plus);
}

.pricing-tier-card--pro .pricing-tier-features .is-included strong,
.pricing-tier-card--pro .pricing-tier-features .is-included .pricing-tier-feature-icon,
.pricing-tier-card--purple .pricing-tier-features .is-included strong,
.pricing-tier-card--purple .pricing-tier-features .is-included .pricing-tier-feature-icon {
    color: var(--pricing-pro);
}

.pricing-tier-features .is-excluded .pricing-tier-feature-icon,
.pricing-tier-features .is-excluded .pricing-tier-feature-text {
    color: rgba(15, 15, 16, 0.38);
}

.pricing-tier-action {
    margin-top: auto;
    padding-top: var(--space-2);
}

.pricing-tier-cta {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 46px;
    padding: 0.75rem 1rem;
    text-align: center;
    text-decoration: none;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
    width: 100%;
}

.pricing-tier-card--free .pricing-tier-cta:not(.is-disabled),
.pricing-tier-card--green .pricing-tier-cta:not(.is-disabled) {
    background: var(--warm-white);
    border-color: var(--pricing-free);
    color: var(--pricing-free);
}

.pricing-tier-card--free .pricing-tier-cta:not(.is-disabled):hover,
.pricing-tier-card--green .pricing-tier-cta:not(.is-disabled):hover {
    background: var(--pricing-free-soft);
}

.pricing-tier-card--plus .pricing-tier-cta:not(.is-disabled),
.pricing-tier-card--gold .pricing-tier-cta:not(.is-disabled) {
    background: var(--pricing-plus);
    border-color: var(--pricing-plus);
    color: var(--stage-black);
}

.pricing-tier-card--plus .pricing-tier-cta:not(.is-disabled):hover,
.pricing-tier-card--gold .pricing-tier-cta:not(.is-disabled):hover {
    filter: brightness(0.96);
}

.pricing-tier-card--pro .pricing-tier-cta:not(.is-disabled),
.pricing-tier-card--purple .pricing-tier-cta:not(.is-disabled) {
    background: var(--pricing-pro);
    border-color: var(--pricing-pro);
    color: var(--warm-white);
}

.pricing-tier-card--pro .pricing-tier-cta:not(.is-disabled):hover,
.pricing-tier-card--purple .pricing-tier-cta:not(.is-disabled):hover {
    filter: brightness(1.05);
}

.pricing-tier-cta.is-secondary,
.pricing-tier-card--plus .pricing-tier-cta.is-secondary,
.pricing-tier-card--gold .pricing-tier-cta.is-secondary,
.pricing-tier-card--pro .pricing-tier-cta.is-secondary,
.pricing-tier-card--purple .pricing-tier-cta.is-secondary {
    background: transparent;
    border: 2px solid currentColor;
    box-shadow: none;
}

.pricing-tier-cta.is-secondary:hover,
.pricing-tier-card--plus .pricing-tier-cta.is-secondary:hover,
.pricing-tier-card--gold .pricing-tier-cta.is-secondary:hover,
.pricing-tier-card--pro .pricing-tier-cta.is-secondary:hover,
.pricing-tier-card--purple .pricing-tier-cta.is-secondary:hover {
    background: rgba(15, 15, 16, 0.04);
}

.pricing-tier-cta.is-disabled,
.pricing-tier-card.is-current .pricing-tier-cta.is-disabled {
    background: var(--warm-white);
    border-color: currentColor;
    color: inherit;
    cursor: default;
    opacity: 1;
}

.pricing-tier-card--free.is-current .pricing-tier-cta.is-disabled,
.pricing-tier-card--green.is-current .pricing-tier-cta.is-disabled {
    border-color: var(--pricing-free);
    color: var(--pricing-free);
}

.pricing-tier-card--plus.is-current .pricing-tier-cta.is-disabled,
.pricing-tier-card--gold.is-current .pricing-tier-cta.is-disabled {
    border-color: var(--pricing-plus);
    color: var(--pricing-plus);
}

.pricing-tier-card--pro.is-current .pricing-tier-cta.is-disabled,
.pricing-tier-card--purple.is-current .pricing-tier-cta.is-disabled {
    border-color: var(--pricing-pro);
    color: var(--pricing-pro);
}

.pricing-comparison {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    margin-top: var(--space-6);
    overflow: hidden;
}

.pricing-comparison-scroll {
    overflow-x: auto;
}

.pricing-comparison-table {
    border-collapse: collapse;
    min-width: 760px;
    width: 100%;
}

.pricing-comparison-table th,
.pricing-comparison-table td {
    border-bottom: 1px solid var(--line);
    padding: 1rem 1.1rem;
    text-align: center;
    vertical-align: middle;
}

.pricing-comparison-table thead th {
    background: rgba(247, 247, 243, 0.72);
    border-bottom: 1px solid var(--line);
    padding-top: 1.25rem;
    vertical-align: bottom;
}

.pricing-comparison-table tbody th {
    font-weight: 600;
    text-align: left;
    width: 34%;
}

.pricing-comparison-feature {
    align-items: center;
    color: var(--stage-black);
    display: inline-flex;
    gap: 0.65rem;
}

.pricing-comparison-feature-icon {
    align-items: center;
    color: rgba(15, 15, 16, 0.52);
    display: inline-flex;
    flex-shrink: 0;
    height: 18px;
    justify-content: center;
    width: 18px;
}

.pricing-comparison-plan-name {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.pricing-comparison-plan--free .pricing-comparison-plan-name,
.pricing-comparison-plan--free .pricing-comparison-value,
.pricing-comparison-plan--green .pricing-comparison-plan-name,
.pricing-comparison-plan--green .pricing-comparison-value {
    color: var(--stage-black);
}

.pricing-comparison-plan--plus .pricing-comparison-plan-name,
.pricing-comparison-plan--plus .pricing-comparison-value,
.pricing-comparison-plan--plus .pricing-comparison-check,
.pricing-comparison-plan--gold .pricing-comparison-plan-name,
.pricing-comparison-plan--gold .pricing-comparison-value,
.pricing-comparison-plan--gold .pricing-comparison-check {
    color: var(--pricing-plus);
}

.pricing-comparison-plan--pro .pricing-comparison-plan-name,
.pricing-comparison-plan--pro .pricing-comparison-value,
.pricing-comparison-plan--pro .pricing-comparison-check,
.pricing-comparison-plan--purple .pricing-comparison-plan-name,
.pricing-comparison-plan--purple .pricing-comparison-value,
.pricing-comparison-plan--purple .pricing-comparison-check {
    color: var(--pricing-pro);
}

.pricing-comparison-plan-price {
    display: block;
    font-size: 1rem;
    font-weight: 800;
}

.pricing-comparison-plan-price span {
    color: var(--muted);
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    margin-top: 0.15rem;
}

.pricing-comparison-value {
    font-size: 0.95rem;
    font-weight: 700;
}

.pricing-comparison-dash {
    color: rgba(15, 15, 16, 0.28);
    font-size: 1.1rem;
}

.pricing-comparison-check {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

/* Admin maker plan editor */
.admin-grid--plan-editor {
    align-items: start;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
}

.admin-plan-list-lead,
.admin-plan-section-lead {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.5;
    margin: var(--space-2) 0 0;
}

.admin-plan-list-items {
    display: grid;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

.admin-plan-list-item {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    display: grid;
    gap: 0.2rem;
    padding: var(--space-3);
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.admin-plan-list-item:hover,
.admin-plan-list-item.is-active {
    border-color: rgba(212, 160, 23, 0.45);
    box-shadow: var(--shadow-soft);
}

.admin-plan-list-item-name {
    align-items: center;
    color: var(--stage-black);
    display: flex;
    flex-wrap: wrap;
    font-weight: 800;
    gap: var(--space-2);
}

.admin-plan-list-item-meta {
    color: var(--muted);
    font-size: 0.84rem;
}

.admin-plan-list-new {
    margin-top: var(--space-4);
    width: 100%;
}

.admin-plan-form {
    display: grid;
    gap: var(--space-4);
}

.admin-plan-section-head h3 {
    font-size: 1.1rem;
    margin: 0.15rem 0 0;
}

.admin-plan-section-head h3 {
    margin-top: 0.35rem;
}

.admin-plan-pricing-ops {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    background: rgba(15, 23, 42, 0.03);
}

.admin-plan-ops-list {
    margin: 0.5rem 0 0;
    padding-left: 1.2rem;
    color: var(--text-muted, #5b6472);
}

.admin-plan-ops-list li + li {
    margin-top: 0.35rem;
}

.admin-plan-toggle-grid,
.admin-plan-form .form-check-grid {
    display: grid;
    gap: var(--space-2);
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-top: var(--space-3);
}

.admin-plan-check {
    align-self: end;
    margin: 0;
}

.admin-plan-check--field {
    min-height: 74px;
}

.admin-plan-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: flex-end;
    margin-top: var(--space-2);
}

.admin-plan-empty {
    min-height: 280px;
}

@media (max-width: 980px) {
    .admin-grid--plan-editor {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .pricing-tier-grid {
        grid-template-columns: 1fr;
    }

    .pricing-tier-tagline {
        min-height: 0;
    }
}

.register-pricing-footnote a {
    color: var(--golden-stage);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

.register-trust-badge {
    align-items: center;
    background: rgba(212, 160, 23, 0.16);
    border: 1px solid rgba(212, 160, 23, 0.32);
    border-radius: 999px;
    color: var(--golden-stage);
    display: inline-flex;
    font-size: 0.72rem;
    height: 22px;
    justify-content: center;
    width: 22px;
}

@media (max-width: 980px) {
    .register-layout {
        grid-template-columns: 1fr;
    }

    .register-plan-features {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .register-hero {
        padding: var(--space-5) var(--space-4) var(--space-6);
    }

    .register-panel {
        padding: var(--space-5);
    }
}

/* Maker profile page */
body.maker-profile-page {
    background: var(--warm-white);
}

.maker-hero {
    color: var(--warm-white);
    isolation: isolate;
    min-height: 420px;
    overflow: hidden;
    position: relative;
}

.maker-hero-backdrop {
    inset: 0;
    position: absolute;
    z-index: 0;
}

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

.maker-hero-backdrop.media-brick { background: linear-gradient(145deg, #6b3d2e, #3d2418); }
.maker-hero-backdrop.media-gold { background: linear-gradient(145deg, #8a6a1f, #4f3a10); }
.maker-hero-backdrop.media-forest { background: linear-gradient(145deg, #2f5a45, #183528); }
.maker-hero-backdrop.media-slate { background: linear-gradient(145deg, #4d5560, #272b31); }
.maker-hero-backdrop.media-canvas { background: linear-gradient(145deg, #8d8475, #5f574d); }

.maker-hero-overlay {
    background:
        linear-gradient(180deg, rgba(15, 15, 16, 0.35) 0%, rgba(15, 15, 16, 0.82) 72%, rgba(15, 15, 16, 0.96) 100%),
        linear-gradient(90deg, rgba(15, 15, 16, 0.88) 0%, rgba(15, 15, 16, 0.45) 55%, rgba(15, 15, 16, 0.72) 100%);
    inset: 0;
    position: absolute;
    z-index: 1;
}

.maker-hero-shell {
    margin: 0 auto;
    max-width: 1180px;
    padding: calc(var(--space-8) + 1rem) var(--space-5) var(--space-7);
    position: relative;
    z-index: 2;
}

.maker-hero-identity {
    align-items: flex-start;
    display: flex;
    gap: var(--space-5);
    max-width: 760px;
}

.maker-hero-avatar {
    flex: 0 0 auto;
}

.maker-hero-avatar img,
.maker-hero-avatar-fallback {
    border: 3px solid rgba(247, 247, 243, 0.92);
    border-radius: 50%;
    box-shadow: 0 18px 40px rgba(15, 15, 16, 0.28);
    display: block;
    height: 112px;
    object-fit: cover;
    width: 112px;
}

.maker-hero-avatar-fallback {
    align-items: center;
    background: var(--deep-forest);
    color: var(--warm-white);
    display: flex;
    font-size: 2rem;
    font-weight: 800;
    justify-content: center;
}

.maker-hero-copy h1 {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.03em;
    line-height: 1.05;
    margin: 0.35rem 0 0.5rem;
}

.maker-availability-badge {
    align-items: center;
    color: rgba(247, 247, 243, 0.88);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 0.45rem;
    letter-spacing: 0.06em;
    margin: 0;
    text-transform: uppercase;
}

.maker-availability-dot {
    background: #6ee7a8;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(110, 231, 168, 0.18);
    height: 8px;
    width: 8px;
}

.maker-availability-badge.is-local .maker-availability-dot {
    background: #fbbf24;
    box-shadow: 0 0 0 4px rgba(251, 191, 36, 0.18);
}

.maker-hero-role {
    color: rgba(247, 247, 243, 0.88);
    font-size: 1.05rem;
    margin: 0 0 0.65rem;
}

.maker-hero-location {
    align-items: center;
    color: rgba(247, 247, 243, 0.78);
    display: flex;
    font-size: 0.92rem;
    gap: 0.45rem;
    margin: 0 0 var(--space-4);
}

.maker-inline-icon {
    flex: 0 0 auto;
    height: 18px;
    width: 18px;
}

.maker-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.maker-hero-cta-primary {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
}

.maker-hero-cta-secondary {
    background: rgba(247, 247, 243, 0.08);
    border-color: rgba(247, 247, 243, 0.28);
    color: var(--warm-white);
}

.maker-hero-cta-secondary:hover {
    background: rgba(247, 247, 243, 0.14);
    border-color: rgba(247, 247, 243, 0.42);
    color: var(--warm-white);
}

.maker-hero-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.maker-hero-skills span {
    background: rgba(247, 247, 243, 0.1);
    border: 1px solid rgba(247, 247, 243, 0.14);
    border-radius: 999px;
    color: rgba(247, 247, 243, 0.92);
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.38rem 0.72rem;
}

.maker-hero-share-btn {
    flex-shrink: 0;
}

.profile-link-field {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
}

.profile-link-prefix {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--line);
    border-bottom-left-radius: var(--radius-sm);
    border-right: 0;
    border-top-left-radius: var(--radius-sm);
    color: var(--muted);
    display: inline-flex;
    font-size: 0.92rem;
    padding: 0.78rem 0.9rem;
}

.profile-link-field input {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    flex: 1 1 180px;
    min-height: 44px;
    min-width: 0;
    padding: 0.78rem 0.9rem;
}

.maker-stats-bar {
    background: var(--stage-black);
    border-bottom: 1px solid rgba(247, 247, 243, 0.08);
    color: rgba(247, 247, 243, 0.88);
}

.maker-stats-shell {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1180px;
    padding: var(--space-4) var(--space-5);
}

.maker-stat {
    align-items: center;
    display: inline-flex;
    font-size: 0.92rem;
    gap: 0.65rem;
}

.maker-stat strong {
    color: var(--warm-white);
    font-size: 1rem;
}

.maker-stat-icon {
    color: var(--golden-stage);
    height: 18px;
    width: 18px;
}

.maker-body {
    padding-top: var(--space-6);
}

.maker-layout {
    align-items: start;
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.95fr);
}

.maker-layout.is-single-column {
    grid-template-columns: 1fr;
}

@media (min-width: 981px) {
    body.maker-profile-tab-work .maker-layout:not(.is-single-column) {
        gap: var(--space-6);
        grid-template-columns: minmax(0, 1fr) minmax(250px, 280px);
    }

    body.maker-profile-tab-work .maker-sidebar {
        position: sticky;
        top: 5.5rem;
    }

    body.maker-profile-tab-work .maker-sidebar-card {
        padding: var(--space-4);
    }

    body.maker-profile-tab-work .maker-sidebar-card h2 {
        font-size: 0.98rem;
        margin-bottom: var(--space-3);
    }
}

@media (max-width: 980px) {
    .maker-layout,
    body.maker-profile-tab-work .maker-layout {
        gap: var(--space-4);
        grid-template-columns: 1fr;
    }

    .maker-main {
        min-width: 0;
        order: 1;
    }

    body.maker-profile-tab-work .maker-sidebar {
        order: 2;
        position: static;
        top: auto;
    }

    body.maker-profile-page .maker-body.section {
        padding-bottom: var(--space-6);
        padding-top: var(--space-4);
    }

    body.maker-profile-tab-credits .maker-body {
        padding-top: var(--space-4);
    }
}

.maker-panel,
.maker-sidebar-card {
    background: var(--surface);
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    padding: clamp(var(--space-4), 2vw, var(--space-5));
}

.maker-panel + .maker-panel {
    margin-top: var(--space-5);
}

.maker-panel h2,
.maker-sidebar-card h2 {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0.35rem 0 0;
}

.maker-about-copy {
    color: var(--muted);
    font-size: 1rem;
    margin: var(--space-4) 0 0;
    max-width: 62ch;
}

.maker-service-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: var(--space-5);
}

.maker-service-card {
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: var(--space-4);
}

.maker-service-card h3 {
    font-size: 0.98rem;
    margin: 0 0 0.35rem;
}

.maker-service-card p {
    color: var(--muted);
    font-size: 0.88rem;
    margin: 0;
}

.maker-section-head,
.maker-section-foot {
    align-items: end;
    display: flex;
    gap: var(--space-4);
    justify-content: space-between;
}

.maker-section-foot {
    justify-content: center;
    margin-top: var(--space-5);
}

.maker-text-link {
    color: var(--golden-stage);
    font-size: 0.92rem;
    font-weight: 700;
    white-space: nowrap;
}

.maker-text-link:hover {
    text-decoration: underline;
}

.maker-text-link.is-light {
    color: rgba(247, 247, 243, 0.92);
}

.maker-featured-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: var(--space-5);
}

.maker-sidebar {
    display: grid;
    gap: var(--space-4);
}

.maker-sidebar-card h2 {
    font-size: 1.15rem;
    margin-bottom: var(--space-4);
}

.maker-link-list {
    display: grid;
    gap: var(--space-3);
}

.maker-link-list a {
    align-items: center;
    background: var(--warm-white);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    display: flex;
    font-weight: 700;
    gap: 0.65rem;
    min-height: 46px;
    padding: 0.75rem 0.9rem;
}

.maker-link-list a:hover {
    border-color: rgba(15, 15, 16, 0.18);
    box-shadow: var(--shadow-soft);
}

.maker-sidebar-empty {
    color: var(--muted);
    margin: 0;
}

.maker-checklist {
    display: grid;
    gap: 0.55rem;
    list-style: none;
    margin: 0 0 var(--space-4);
    padding: 0;
}

.maker-checklist li {
    align-items: center;
    color: var(--ink);
    display: flex;
    font-size: 0.92rem;
    gap: 0.55rem;
}

.maker-checklist li::before {
    color: var(--golden-stage);
    content: "✓";
    font-weight: 800;
}

.maker-sidebar-meta {
    display: grid;
    gap: var(--space-3);
    margin: 0 0 var(--space-4);
}

.maker-sidebar-meta div {
    display: grid;
    gap: 0.2rem;
}

.maker-sidebar-meta dt {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.maker-sidebar-meta dd {
    margin: 0;
}

.maker-sidebar-cta {
    display: inline-flex;
    justify-content: center;
    width: 100%;
}

.maker-sidebar-note p {
    color: var(--muted);
    margin: 0 0 var(--space-4);
}

.maker-portfolio-section {
    padding-top: 0;
}

.maker-join-band {
    background: var(--stage-black);
    color: var(--warm-white);
    margin-top: var(--space-7);
}

.maker-join-band-shell {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-5);
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1180px;
    padding: var(--space-6) var(--space-5);
}

.maker-join-copy {
    align-items: flex-start;
    display: flex;
    gap: var(--space-4);
    max-width: 640px;
}

.maker-join-icon {
    color: var(--golden-stage);
    flex: 0 0 auto;
    height: 28px;
    margin-top: 0.2rem;
    width: 28px;
}

.maker-join-copy h2 {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    margin: 0 0 0.35rem;
}

.maker-join-copy p {
    color: rgba(247, 247, 243, 0.76);
    margin: 0;
}

.maker-join-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
}

/* Maker profile engagement + shared responsive rules (see site-wide mobile polish at end of file). */

.engagement-bar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
    margin-top: var(--space-5);
}

.engagement-stats {
    color: rgba(247, 247, 243, 0.78);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
}

.engagement-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.engagement-btn.is-active,
[data-follow-btn].is-active {
    background: var(--golden-stage);
    border-color: var(--golden-stage);
    color: var(--stage-black);
}

.engagement-btn.is-active:hover,
[data-follow-btn].is-active:hover {
    background: var(--theatre-brown);
    border-color: var(--theatre-brown);
    color: var(--warm-white);
}

.comment-list {
    display: grid;
    gap: var(--space-4);
    list-style: none;
    margin: var(--space-5) 0;
    padding: 0;
}

.comment-item {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: var(--space-4);
}

.comment-item time {
    color: rgba(247, 247, 243, 0.55);
    display: block;
    font-size: 0.85rem;
    margin-top: 0.25rem;
}

.notification-list {
    display: grid;
    gap: var(--space-3);
    list-style: none;
    margin: 0;
    padding: 0;
}

.notification-item {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.notification-item.is-unread {
    border-color: rgba(212, 175, 55, 0.35);
}

.notification-item a {
    color: inherit;
    display: grid;
    gap: 0.25rem;
    text-decoration: none;
}

.notification-item time {
    color: rgba(247, 247, 243, 0.55);
    display: block;
    font-size: 0.85rem;
    margin-top: var(--space-2);
}

.taxonomy-list {
    display: grid;
    gap: var(--space-3);
    list-style: none;
    margin: var(--space-4) 0 0;
    padding: 0;
}

.taxonomy-list li {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
}

.dashboard-analytics {
    margin-top: var(--space-4);
}

.account-email {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1rem, 2.4vw, 1.25rem);
    font-weight: 700;
    hyphens: auto;
    line-height: 1.35;
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.message-inbox {
    display: grid;
    gap: 0;
    padding: 0;
}

.message-inbox-item {
    align-items: center;
    border-bottom: 1px solid var(--line);
    color: inherit;
    display: grid;
    gap: var(--space-4);
    grid-template-columns: minmax(0, 1fr) auto;
    padding: var(--space-4);
    text-decoration: none;
    transition: background 160ms ease;
}

.message-inbox-item:last-child {
    border-bottom: 0;
}

.message-inbox-item:hover,
.message-inbox-item.is-unread {
    background: rgba(212, 160, 23, 0.08);
}

.message-inbox-main p {
    color: var(--muted);
    font-size: 0.92rem;
    margin: var(--space-2) 0 0;
}

.message-inbox-meta {
    align-items: end;
    display: grid;
    gap: var(--space-2);
    justify-items: end;
    text-align: right;
}

.message-inbox-meta time {
    color: var(--muted);
    font-size: 0.82rem;
}

.message-unread-badge {
    background: var(--golden-stage);
    border-radius: 999px;
    color: var(--stage-black);
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    min-width: 1.4rem;
    padding: 0.15rem 0.45rem;
    text-align: center;
}

.message-thread {
    display: grid;
    gap: var(--space-4);
}

.message-thread-scroll {
    display: grid;
    gap: var(--space-3);
    max-height: 60vh;
    overflow-y: auto;
    padding-right: var(--space-2);
}

.message-thread-empty {
    color: var(--muted);
    margin: 0;
}

.message-bubble {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    max-width: 80%;
    padding: var(--space-4);
}

.message-bubble.is-mine {
    background: rgba(212, 160, 23, 0.12);
    border-color: rgba(212, 160, 23, 0.35);
    justify-self: end;
}

.message-bubble.is-theirs {
    justify-self: start;
}

.message-bubble-meta {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-3);
    margin: 0 0 var(--space-2);
}

.message-bubble-meta time {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 500;
}

.message-bubble p:last-child {
    margin: 0;
    white-space: pre-wrap;
}

.message-reply-form {
    border-top: 1px solid var(--line);
    margin-top: var(--space-2);
    padding-top: var(--space-4);
}

.billing-upgrade-options {
    display: grid;
    gap: var(--space-3);
    margin: var(--space-4) 0;
}

.billing-status {
    color: var(--muted);
    font-size: 0.92rem;
    margin: 0 0 var(--space-3);
}

.billing-status--past_due {
    color: #b45309;
}

.billing-status--trialing {
    color: #2e7d32;
}

.onboarding-panel {
    padding: var(--space-5);
}

.onboarding-progress {
    background: var(--line);
    border-radius: 999px;
    height: 8px;
    margin: var(--space-4) 0 var(--space-5);
    overflow: hidden;
}

.onboarding-progress span {
    background: var(--golden-stage);
    display: block;
    height: 100%;
}

.onboarding-checklist {
    display: grid;
    gap: var(--space-3);
    list-style: none;
    margin: 0;
    padding: 0;
}

.onboarding-step {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-3);
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: var(--space-4);
}

.onboarding-step.is-done {
    background: rgba(46, 125, 50, 0.06);
    border-color: rgba(46, 125, 50, 0.18);
}

.onboarding-step-marker {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 50%;
    color: #2e7d32;
    display: inline-flex;
    font-size: 0.85rem;
    font-weight: 800;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.onboarding-step.is-done .onboarding-step-marker {
    background: rgba(46, 125, 50, 0.12);
    border-color: rgba(46, 125, 50, 0.25);
}

.onboarding-step-copy p {
    color: var(--muted);
    font-size: 0.92rem;
    margin: var(--space-2) 0 0;
}

.testimonial-grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.testimonial-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    margin: 0;
    padding: var(--space-4);
}

.testimonial-card p {
    margin: 0 0 var(--space-4);
}

.testimonial-card footer {
    color: var(--muted);
    display: grid;
    gap: var(--space-1);
}

.testimonial-card footer strong {
    color: var(--stage-black);
}

.testimonial-manage-list {
    display: grid;
    gap: var(--space-4);
}

.testimonial-manage-card blockquote {
    margin: 0 0 var(--space-4);
}

@media (max-width: 640px) {
    .onboarding-step {
        grid-template-columns: auto 1fr;
    }

    .onboarding-step .button {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

.job-board-list {
    display: grid;
    gap: var(--space-4);
}

.opportunity-filters {
    display: grid;
    gap: var(--space-4);
}

.job-card {
    display: grid;
    gap: 0;
    grid-template-columns: 140px minmax(0, 1fr);
    overflow: hidden;
    padding: 0;
}

.job-card-media {
    align-self: stretch;
    background: #ece7df;
    display: block;
    min-height: 100%;
    overflow: hidden;
    position: relative;
}

.job-card-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.job-card-media-fallback {
    align-items: center;
    color: var(--theatre-brown);
    display: flex;
    font-size: 1.5rem;
    font-weight: 800;
    height: 100%;
    justify-content: center;
    letter-spacing: 0.04em;
    min-height: 220px;
    padding: var(--space-4);
    text-align: center;
}

.job-card-media--brick { background: linear-gradient(160deg, #8b3a2f, #c45c4a); }
.job-card-media--gold { background: linear-gradient(160deg, #8a6914, #d4a017); }
.job-card-media--forest { background: linear-gradient(160deg, #1e3a2f, #3d6657); }
.job-card-media--slate { background: linear-gradient(160deg, #2f3542, #57606f); }
.job-card-media--canvas { background: linear-gradient(160deg, #5b3a1a, #8a5a44); }

.job-card-media--brick .job-card-media-fallback,
.job-card-media--gold .job-card-media-fallback,
.job-card-media--forest .job-card-media-fallback,
.job-card-media--slate .job-card-media-fallback,
.job-card-media--canvas .job-card-media-fallback {
    color: rgba(247, 247, 243, 0.92);
}

.job-card-body {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
}

.job-card-top {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
}

.job-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.job-card-badge {
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    padding: 0.28rem 0.65rem;
    text-transform: uppercase;
}

.job-card-badge--type {
    background: rgba(212, 160, 23, 0.16);
    color: var(--theatre-brown);
}

.job-card-badge--filled {
    background: rgba(46, 125, 50, 0.14);
    color: #2e7d32;
}

.job-applications-actions {
    margin-bottom: var(--space-6);
}

.job-applications-actions h2 {
    margin-top: var(--space-2);
}

.job-card-location {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 600;
}

.job-card-title {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.15;
    margin: 0;
}

.job-card-title a {
    color: inherit;
    text-decoration: none;
}

.job-card-title a:hover {
    color: var(--theatre-brown);
}

.job-card-role,
.job-card-company,
.job-card-summary {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.5;
    margin: 0;
}

.job-card-role {
    color: rgba(30, 30, 34, 0.82);
    font-weight: 600;
}

.job-card-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.job-card-skills span {
    background: rgba(15, 15, 16, 0.05);
    border: 1px solid var(--line);
    border-radius: 999px;
    color: rgba(15, 15, 16, 0.78);
    font-size: 0.76rem;
    font-weight: 600;
    padding: 0.28rem 0.65rem;
}

.job-card-skills-more {
    background: rgba(212, 160, 23, 0.12);
    border-color: rgba(212, 160, 23, 0.24);
    color: var(--theatre-brown);
}

.job-card-footer {
    align-items: end;
    border-top: 1px solid var(--line);
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    margin-top: var(--space-2);
    padding-top: var(--space-4);
}

.job-card-footer--detail {
    border-top: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0;
    padding-top: 0;
}

.job-card-date-label {
    color: var(--muted);
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.job-card-date strong {
    font-size: 0.95rem;
}

.job-card-cta {
    justify-self: end;
    white-space: nowrap;
}

.job-detail-hero {
    align-items: start;
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
}

.job-detail-poster {
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-soft);
}

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

.job-detail-role {
    color: rgba(30, 30, 34, 0.82);
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0 0 var(--space-3);
}

.job-poster-preview {
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-3);
    max-width: 220px;
    overflow: hidden;
}

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

.form-section-copy {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.5;
    margin: 0 0 var(--space-4);
}

@media (max-width: 820px) {
    .job-card {
        grid-template-columns: 1fr;
    }

    .job-card-media {
        min-height: 180px;
    }

    .job-card-media-fallback {
        min-height: 180px;
    }

    .job-card-footer,
    .job-card-footer--detail {
        grid-template-columns: 1fr;
    }

    .job-card-cta {
        justify-self: start;
    }

    .job-detail-hero {
        grid-template-columns: 1fr;
    }

    .job-detail-poster {
        max-width: 220px;
    }
}

.admin-status--closed {
    background: rgba(91, 58, 26, 0.12);
    color: var(--theatre-brown);
}

.admin-status--filled {
    background: rgba(46, 125, 50, 0.14);
    color: #2e7d32;
}

/* Maker dashboard */
body.creator-dashboard-page {
    background: #f3f1ea;
}

.creator-dashboard {
    padding-top: var(--space-5);
}

.creator-dashboard-shell {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    margin: 0 auto;
    max-width: 1180px;
    padding-inline: var(--space-5);
}

.creator-hero {
    background:
        linear-gradient(135deg, rgba(212, 160, 23, 0.1), rgba(255, 255, 255, 0.92) 42%),
        var(--warm-white);
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
}

.creator-hero-top {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
}

.creator-hero-identity {
    align-items: center;
    display: flex;
    gap: var(--space-4);
}

.creator-hero-eyebrow {
    color: var(--theatre-brown);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 var(--space-1);
    text-transform: uppercase;
}

.creator-hero-identity h1 {
    font-size: clamp(1.55rem, 2.2vw, 2rem);
    line-height: 1.15;
    margin: 0 0 var(--space-1);
}

.creator-hero-lead {
    color: var(--muted);
    margin: 0;
}

.creator-hero-avatar {
    border: 3px solid rgba(212, 160, 23, 0.45);
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(15, 15, 16, 0.12);
    flex-shrink: 0;
    height: 76px;
    object-fit: cover;
    width: 76px;
}

.creator-hero-avatar-fallback {
    align-items: center;
    background: var(--deep-forest);
    color: var(--warm-white);
    display: inline-flex;
    font-size: 1.25rem;
    font-weight: 800;
    justify-content: center;
}

.creator-hero-completion {
    align-items: center;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    display: flex;
    gap: var(--space-3);
    max-width: 320px;
    padding: var(--space-3);
}

.creator-hero-completion:hover {
    border-color: rgba(212, 160, 23, 0.45);
}

.creator-hero-completion-copy {
    display: grid;
    gap: 0.15rem;
}

.creator-hero-completion-copy span {
    color: var(--muted);
    font-size: 0.82rem;
}

.creator-completion-ring {
    align-items: center;
    background:
        radial-gradient(farthest-side, var(--warm-white) 78%, transparent 80%) center / 100% 100%,
        conic-gradient(var(--golden-stage) calc(var(--progress) * 1%), var(--warm-gray) 0);
    border-radius: 50%;
    display: grid;
    flex-shrink: 0;
    height: 52px;
    place-items: center;
    width: 52px;
}

.creator-completion-ring span {
    font-size: 0.72rem;
    font-weight: 800;
}

.text-link {
    color: #1d4ed8;
    font-size: 0.88rem;
    font-weight: 700;
}

.text-link:hover {
    text-decoration: underline;
}

.creator-stats {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.creator-stat-card {
    align-items: center;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(15, 15, 16, 0.07);
    border-radius: var(--radius-md);
    display: flex;
    gap: var(--space-3);
    padding: 0.75rem 0.85rem;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.creator-stat-card:hover {
    border-color: rgba(212, 160, 23, 0.45);
    box-shadow: 0 10px 24px rgba(15, 15, 16, 0.08);
    transform: translateY(-1px);
}

.creator-stat-icon {
    align-items: center;
    background: rgba(212, 160, 23, 0.14);
    border-radius: 999px;
    color: var(--theatre-brown);
    display: inline-flex;
    flex-shrink: 0;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.creator-stat-icon-svg {
    height: 16px;
    width: 16px;
}

.creator-stat-body {
    display: grid;
    gap: 0.05rem;
    min-width: 0;
}

.creator-stat-value {
    font-size: 1.15rem;
    line-height: 1.1;
}

.creator-stat-label {
    color: var(--muted);
    font-size: 0.76rem;
}

.creator-stat-growth {
    color: #15803d;
    font-size: 0.68rem;
    font-weight: 700;
}

.creator-stat-growth.is-down {
    color: var(--rust-accent);
}

.creator-stat-growth.is-flat {
    color: var(--muted);
}

.creator-body {
    align-items: start;
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(0, 1.72fr) minmax(280px, 1fr);
}

.creator-main,
.creator-aside {
    display: grid;
    gap: var(--space-5);
}

.creator-section-head {
    align-items: flex-start;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.creator-section-head h2 {
    font-size: 1.28rem;
    margin: 0;
}

.creator-section-head p {
    color: var(--muted);
    font-size: 0.88rem;
    margin: 0.25rem 0 0;
}

.creator-section-subnote {
    color: var(--muted);
    font-size: 0.84rem;
    margin: 0.2rem 0 0 !important;
}

.creator-portfolio {
    background: var(--warm-white);
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    padding: var(--space-5);
}

.creator-portfolio-stage {
    display: grid;
    gap: var(--space-4);
}

.creator-featured-project {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    overflow: hidden;
}

.creator-featured-media {
    aspect-ratio: 16 / 10;
    display: block;
    max-width: 100%;
    min-height: 260px;
    min-width: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.creator-featured-media.has-image img {
    display: block;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    transition: transform 240ms ease;
    width: 100%;
}

.creator-featured-project:hover .creator-featured-media.has-image img {
    transform: scale(1.03);
}

.creator-featured-body {
    background: #fff;
    display: grid;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-5);
    position: relative;
    z-index: 1;
}

.creator-featured-badge {
    background: rgba(46, 125, 50, 0.12);
    border-radius: 999px;
    color: #166534;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.6rem;
    text-transform: uppercase;
    width: fit-content;
}

.creator-featured-body h3 {
    font-size: 1.5rem;
    margin: 0;
}

.creator-featured-type,
.creator-featured-meta {
    color: var(--muted);
    margin: 0;
}

.creator-featured-stats {
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.84rem;
    gap: var(--space-3);
    list-style: none;
    margin: var(--space-2) 0 0;
    padding: 0;
}

.creator-featured-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

.creator-portfolio-empty {
    background: rgba(232, 228, 220, 0.35);
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-md);
    padding: var(--space-6);
    text-align: center;
}

.creator-portfolio-empty p {
    margin: 0 0 var(--space-4);
}

.creator-project-grid {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.creator-project-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.creator-project-card-media {
    aspect-ratio: 4 / 3;
    display: block;
    overflow: hidden;
}

.creator-project-card-media.has-image img {
    height: 100%;
    object-fit: cover;
    transition: transform 200ms ease;
    width: 100%;
}

.creator-project-card:hover .creator-project-card-media.has-image img {
    transform: scale(1.04);
}

.creator-project-card-body {
    padding: var(--space-3);
}

.creator-project-card-body h3 {
    font-size: 0.95rem;
    margin: 0 0 0.15rem;
}

.creator-project-card-body p {
    color: var(--muted);
    font-size: 0.8rem;
    margin: 0;
}

.creator-project-card-metrics {
    display: flex;
    gap: var(--space-3);
    margin-top: var(--space-2) !important;
}

.creator-add-tile {
    align-items: stretch;
    background: rgba(247, 247, 243, 0.85);
    border-style: dashed;
    color: inherit;
    display: flex;
    min-height: 100%;
    transition: background-color 160ms ease, border-color 160ms ease;
}

.creator-add-tile:hover {
    background: rgba(212, 160, 23, 0.1);
    border-color: rgba(212, 160, 23, 0.55);
}

.creator-add-tile-inner {
    align-items: center;
    display: grid;
    gap: 0.2rem;
    justify-items: center;
    margin: auto;
    padding: var(--space-4);
    text-align: center;
}

.creator-add-tile-icon {
    align-items: center;
    background: rgba(212, 160, 23, 0.18);
    border-radius: 50%;
    color: var(--theatre-brown);
    display: inline-flex;
    font-size: 1.45rem;
    font-weight: 300;
    height: 44px;
    justify-content: center;
    line-height: 1;
    width: 44px;
}

.creator-add-tile-inner strong {
    font-size: 0.92rem;
}

.creator-add-tile-inner span:last-child {
    color: var(--muted);
    font-size: 0.78rem;
}

.creator-activity-list,
.creator-message-list,
.creator-job-list,
.creator-quick-list,
.creator-plan-current,
.creator-plan-upsell-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.creator-activity-item {
    align-items: flex-start;
    border-top: 1px solid var(--line);
    display: grid;
    gap: var(--space-3);
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: var(--space-3) 0;
}

.creator-activity-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.creator-activity-item.is-unread {
    background: rgba(29, 78, 216, 0.04);
    border-radius: var(--radius-sm);
    margin-inline: calc(var(--space-2) * -1);
    padding-inline: var(--space-2);
}

.creator-activity-icon {
    align-items: center;
    background: var(--warm-gray);
    border-radius: 999px;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.creator-activity-icon-svg {
    height: 15px;
    width: 15px;
}

.creator-activity-copy a,
.creator-activity-copy span {
    font-weight: 600;
}

.creator-activity-item time {
    color: var(--muted);
    font-size: 0.76rem;
    white-space: nowrap;
}

.creator-pill {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 800;
    margin-top: 0.25rem;
    padding: 0.15rem 0.5rem;
}

.creator-pill-unread {
    background: rgba(29, 78, 216, 0.12);
    color: #1d4ed8;
}

.creator-pill-new {
    background: rgba(46, 125, 50, 0.14);
    color: #166534;
}

.creator-empty-copy {
    color: var(--muted);
    margin: 0;
}

.creator-message-spotlight {
    background: rgba(247, 247, 243, 0.85);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
}

.creator-message-spotlight.is-unread {
    border-color: rgba(29, 78, 216, 0.25);
    box-shadow: inset 3px 0 0 #1d4ed8;
}

.creator-message-spotlight-head {
    align-items: center;
    display: flex;
    gap: var(--space-3);
}

.creator-message-spotlight-head time {
    color: var(--muted);
    display: block;
    font-size: 0.76rem;
}

.creator-message-quote {
    color: var(--charcoal);
    font-size: 0.95rem;
    font-style: italic;
    margin: 0;
}

.creator-message-avatar {
    border-radius: 50%;
    height: 42px;
    object-fit: cover;
    width: 42px;
}

.creator-message-avatar-fallback {
    align-items: center;
    background: var(--deep-forest);
    color: var(--warm-white);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.creator-plan-card {
    background: linear-gradient(160deg, rgba(30, 58, 47, 0.06), rgba(212, 160, 23, 0.08));
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.creator-plan-card h2 {
    font-size: 1.15rem;
    margin: 0;
}

.creator-plan-tagline {
    color: var(--muted);
    margin: 0.35rem 0 var(--space-3);
}

.creator-plan-current li,
.creator-plan-upsell-list li {
    font-size: 0.86rem;
    padding: 0.22rem 0 0.22rem 1.25rem;
    position: relative;
}

.creator-plan-current li::before {
    color: #15803d;
    content: "✓";
    left: 0;
    position: absolute;
}

.creator-plan-upsell {
    border-top: 1px solid var(--line);
    margin-top: var(--space-3);
    padding-top: var(--space-3);
}

.creator-plan-upsell-heading {
    font-size: 0.82rem;
    font-weight: 800;
    margin: 0 0 0.25rem;
}

.creator-plan-upsell-tier {
    color: var(--muted);
    font-size: 0.82rem;
    margin: 0 0 0.35rem;
}

.creator-plan-upsell-list li::before {
    content: "★";
    color: var(--golden-stage);
    left: 0;
    position: absolute;
}

.creator-plan-actions {
    display: grid;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

.creator-plan-btn {
    width: 100%;
}

.creator-quick-list {
    display: grid;
    gap: 0.2rem;
}

.creator-quick-list a {
    align-items: center;
    border-radius: var(--radius-sm);
    display: flex;
    font-size: 0.88rem;
    font-weight: 600;
    gap: var(--space-3);
    padding: 0.5rem 0.3rem;
}

.creator-quick-list a:hover {
    background: rgba(212, 160, 23, 0.1);
}

.creator-quick-list .nav-icon {
    height: 15px;
    opacity: 0.72;
    width: 15px;
}

.creator-jobs > h2 {
    font-size: 1.28rem;
    margin: 0 0 var(--space-4);
}

.creator-jobs-block + .creator-jobs-block {
    border-top: 1px solid var(--line);
    margin-top: var(--space-4);
    padding-top: var(--space-4);
}

.creator-jobs-block-label {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    margin: 0 0 var(--space-2);
    text-transform: uppercase;
}

.creator-job-row {
    border-top: 1px solid var(--line);
    display: grid;
    gap: var(--space-2);
    padding: var(--space-3) 0;
}

.creator-job-list .creator-job-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.creator-job-row a {
    display: grid;
    gap: 0.15rem;
}

.creator-job-row.has-action {
    background: rgba(212, 160, 23, 0.1);
    border-radius: var(--radius-sm);
    margin-inline: calc(var(--space-1) * -1);
    padding-inline: var(--space-2);
}

.creator-job-row-copy {
    display: grid;
    gap: 0.15rem;
}

.creator-job-show {
    color: var(--muted);
    font-size: 0.86rem;
}

.creator-job-row-meta {
    color: var(--muted);
    font-size: 0.8rem;
}

.creator-job-new-count {
    color: #15803d;
    font-weight: 800;
}

.creator-jobs-block-action {
    justify-self: start;
    margin-top: var(--space-1);
}

.creator-jobs-block .creator-empty-copy {
    margin-bottom: var(--space-2);
}

.creator-card-footer-link {
    display: inline-block;
    margin-top: var(--space-3);
}

.creator-dash-block.creator-portfolio { order: 3; }
.creator-dash-block.creator-activity { order: 5; }
.creator-dash-block.creator-messages { order: 6; }
.creator-dash-block.creator-jobs { order: 7; }
.creator-dash-block.creator-resume { order: 8; }
.creator-dash-block.creator-plan { order: 9; }
.creator-dash-block.creator-quick { order: 10; }

@media (max-width: 980px) {
    .creator-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .creator-body {
        display: flex;
        flex-direction: column;
    }

    .creator-main,
    .creator-aside {
        display: contents;
    }

    .creator-featured-project {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 640px) {
    .creator-dashboard-shell {
        padding-inline: var(--space-4);
    }

    .creator-hero {
        padding: var(--space-4);
    }

    .creator-hero-identity {
        align-items: flex-start;
        flex-direction: column;
    }

    .creator-stats {
        grid-template-columns: 1fr 1fr;
    }

    .creator-project-grid {
        grid-template-columns: 1fr;
    }

    .creator-featured-actions {
        flex-direction: column;
    }

    .creator-featured-actions .button,
    .creator-featured-actions .button-secondary {
        width: 100%;
    }
}

/* Profile section navigation */
.maker-profile-nav {
    background: linear-gradient(180deg, rgba(247, 247, 243, 0.98) 0%, var(--surface) 100%);
    border-bottom: 1px solid var(--line);
    margin-top: calc(-1 * var(--space-5));
    padding: var(--space-5) 0 var(--space-4);
    position: relative;
    z-index: 12;
}

/* Slim sticky workspace toolbar (manage pages) */
.maker-workspace-nav {
    background: rgba(251, 250, 247, 0.94);
    border-bottom: 1px solid rgba(15, 15, 16, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin: 0;
    padding: 0;
    position: sticky;
    top: 72px;
    z-index: 35;
}

.maker-workspace-nav__shell {
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 var(--space-5);
}

.maker-workspace-nav__bar {
    align-items: center;
    display: flex;
    gap: var(--space-3);
    min-height: 52px;
    padding: 0.45rem 0;
}

.maker-workspace-nav__label {
    color: var(--muted);
    flex: 0 0 auto;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin: 0;
    text-transform: uppercase;
}

.maker-workspace-nav__tabs {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 0.25rem;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.maker-workspace-nav__tabs::-webkit-scrollbar {
    display: none;
}

.maker-workspace-nav__tab {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--muted);
    display: inline-flex;
    flex: 0 0 auto;
    gap: 0.4rem;
    min-height: 36px;
    padding: 0.35rem 0.85rem 0.35rem 0.55rem;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}

.maker-workspace-nav__tab:hover {
    background: rgba(15, 15, 16, 0.04);
    color: var(--stage-black);
}

.maker-workspace-nav__tab.is-active {
    background: rgba(212, 160, 23, 0.14);
    border-color: rgba(212, 160, 23, 0.35);
    color: var(--stage-black);
    font-weight: 700;
}

.maker-workspace-nav__tab-icon {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    height: 18px;
    justify-content: center;
    opacity: 0.75;
    width: 18px;
}

.maker-workspace-nav__tab.is-active .maker-workspace-nav__tab-icon {
    opacity: 1;
}

.maker-workspace-nav__tab-icon .nav-icon {
    height: 16px;
    width: 16px;
}

.maker-workspace-nav__tab-label {
    font-size: 0.88rem;
    font-weight: 650;
    letter-spacing: 0.01em;
}

.maker-workspace-nav__preview {
    align-items: center;
    color: var(--muted);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.84rem;
    font-weight: 650;
    gap: 0.35rem;
    margin-left: auto;
    text-decoration: none;
    white-space: nowrap;
}

.maker-workspace-nav__preview:hover {
    color: var(--stage-black);
}

.maker-workspace-nav__preview .nav-icon {
    height: 14px;
    width: 14px;
}

.maker-profile-nav-shell {
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 var(--space-5);
}

.maker-profile-nav-heading {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.maker-profile-nav-grid {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.maker-profile-nav-card {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-md);
    box-shadow: 0 10px 24px rgba(15, 15, 16, 0.06);
    color: var(--stage-black);
    display: flex;
    gap: var(--space-3);
    min-height: 88px;
    padding: var(--space-4);
    position: relative;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.maker-profile-nav-card::after {
    background: transparent;
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
}

.maker-profile-nav-card:hover {
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 14px 28px rgba(15, 15, 16, 0.08);
    transform: translateY(-1px);
}

.maker-profile-nav-card.is-active {
    border-color: rgba(212, 175, 55, 0.55);
    box-shadow: 0 16px 30px rgba(15, 15, 16, 0.1);
}

.maker-profile-nav-card.is-active::after {
    background: var(--golden-stage);
}

.maker-profile-nav-icon {
    align-items: center;
    background: rgba(15, 15, 16, 0.05);
    border-radius: 12px;
    color: var(--stage-black);
    display: inline-flex;
    flex-shrink: 0;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.maker-profile-nav-icon .nav-icon {
    height: 22px;
    width: 22px;
}

.maker-profile-nav-card.is-active .maker-profile-nav-icon {
    background: rgba(212, 175, 55, 0.16);
    color: #9a7618;
}

.maker-profile-nav-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.maker-profile-nav-copy strong {
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.maker-profile-nav-copy span {
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.maker-profile-panel {
    display: none;
}

.maker-profile-panel-work-only {
    display: none;
}

.maker-profile-tab-work .maker-profile-panel-work,
.maker-profile-tab-work .maker-profile-panel-work-only {
    display: block;
}

.maker-profile-tab-credits .maker-profile-panel-credits {
    display: block;
}

.maker-profile-tab-about .maker-profile-panel-about {
    display: block;
}

.maker-profile-tab-hire .maker-profile-panel-hire,
.maker-profile-tab-contact .maker-profile-panel-hire,
.maker-profile-tab-contact .maker-profile-panel-contact {
    display: block;
}

/* Credits */
.credits-timeline {
    display: grid;
    gap: var(--space-4);
}

.credit-card {
    background: rgba(247, 247, 243, 0.72);
    border: 1px solid var(--line);
    border-left: 4px solid var(--golden-stage);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-2);
    padding: var(--space-4);
}

.credit-card-head {
    align-items: flex-start;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
}

.credit-card-head h3 {
    font-size: 1.15rem;
    margin: 0;
}

.credit-card-org,
.credit-card-location,
.credit-card-description {
    color: var(--muted);
    margin: 0;
}

.credit-card-role {
    font-size: 0.95rem;
    font-weight: 800;
    margin: 0;
}

.credit-card-year {
    color: var(--theatre-brown);
    font-size: 0.82rem;
    font-weight: 800;
}

.credit-card-skills {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.credit-card-skills span {
    background: rgba(212, 160, 23, 0.14);
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 700;
    padding: 0.25rem 0.55rem;
}

.credit-card-project-link {
    justify-self: start;
    margin-top: var(--space-2);
}

.credits-manage-items {
    display: grid;
    gap: var(--space-3);
    list-style: none;
    margin: 0;
    padding: 0;
}

.credits-manage-item {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    padding-top: var(--space-3);
}

.credits-manage-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.credits-manage-copy {
    display: grid;
    gap: 0.15rem;
}

.credits-manage-copy span {
    color: var(--muted);
    font-size: 0.84rem;
}

.credits-manage-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.credit-linked-badge {
    color: #15803d;
    font-size: 0.76rem;
    font-weight: 800;
}

.credit-portfolio-proof,
.credit-proof-options {
    display: grid;
    gap: var(--space-4);
}

.credit-proof-option {
    border-top: 1px solid var(--line);
    padding-top: var(--space-3);
}

.credit-proof-option:first-child {
    border-top: 0;
    padding-top: 0;
}

.credit-linked-project,
.credit-project-summary {
    display: grid;
    gap: 0.2rem;
}

.credit-project-sidebar .credit-project-summary {
    margin-bottom: var(--space-3);
}

.creator-resume-steps {
    display: grid;
    gap: 0.35rem;
    list-style: none;
    margin: 0 0 var(--space-4);
    padding: 0;
}

.creator-resume-steps li {
    color: var(--muted);
    font-size: 0.88rem;
    padding-left: 1.35rem;
    position: relative;
}

.creator-resume-steps li::before {
    content: "□";
    left: 0;
    position: absolute;
}

.creator-resume-steps li.is-done {
    color: var(--stage-black);
}

.creator-resume-steps li.is-done::before {
    color: #15803d;
    content: "✓";
}

.creator-resume-btn {
    width: 100%;
}

.credit-import-panel h2,
.credit-import-help h2 {
    font-size: 1.05rem;
    margin: var(--space-5) 0 var(--space-2);
}

.credit-import-panel h2:first-child {
    margin-top: 0;
}

.credit-import-columns,
.credit-import-tips {
    color: var(--muted);
    display: grid;
    font-size: 0.88rem;
    gap: 0.35rem;
    margin: 0 0 var(--space-4);
    padding-left: 1.1rem;
}

.credit-import-preview-head {
    align-items: start;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.credit-import-preview-head h2 {
    margin: 0 0 var(--space-2);
}

.credit-import-table .is-invalid td {
    background: rgba(220, 38, 38, 0.04);
}

.credit-import-status {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.76rem;
    font-weight: 800;
    padding: 0.2rem 0.55rem;
}

.credit-import-status-ready {
    background: rgba(21, 128, 61, 0.12);
    color: #15803d;
}

.credit-import-status-error {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.credit-import-status-note {
    color: var(--muted);
    display: block;
    font-size: 0.82rem;
    margin-top: 0.25rem;
}

.credit-import-confirm {
    border-top: 1px solid var(--line);
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-4);
    padding-top: var(--space-4);
}

.credit-import-empty-hint {
    margin-top: var(--space-4);
    text-align: center;
}

.maker-profile-tab-credits .maker-profile-panel:not(.maker-profile-panel-credits) {
    display: none !important;
}

.maker-layout.is-resume-tab {
    grid-template-columns: 1fr;
}

.maker-layout.is-resume-tab .maker-sidebar {
    display: none;
}

.maker-profile-tab-credits .maker-body {
    padding-top: var(--space-5);
}

.maker-resume-layout {
    align-items: start;
    display: grid;
    gap: var(--space-6);
    grid-template-columns: minmax(0, 1fr) minmax(250px, 280px);
}

.maker-resume-main {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    min-width: 0;
}

.maker-resume-head {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4) var(--space-5);
    justify-content: space-between;
}

.maker-resume-head-copy {
    flex: 1 1 16rem;
    min-width: 0;
}

.maker-resume-head h2 {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.85rem, 3vw, 2.4rem);
    letter-spacing: -0.02em;
    line-height: 1.08;
    margin: 0 0 var(--space-3);
}

.maker-resume-lead {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
    max-width: 36rem;
}

.maker-resume-head-actions {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: flex-end;
}

.maker-resume-controls {
    display: grid;
    gap: var(--space-3);
}

.maker-resume-filters {
    min-width: 0;
}

.maker-resume-filter-row {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--space-2);
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scrollbar-width: thin;
}

.maker-resume-filter,
.maker-resume-filter-more select {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--stage-black);
    cursor: pointer;
    flex-shrink: 0;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.42rem 0.85rem;
    white-space: nowrap;
}

.maker-resume-filter.is-active {
    background: var(--stage-black);
    border-color: var(--stage-black);
    color: #fff;
}

.maker-resume-filter-more select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);
    background-position: calc(100% - 14px) calc(50% - 2px), calc(100% - 9px) calc(50% - 2px);
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    padding-right: 1.65rem;
}

.maker-resume-list-top {
    align-items: end;
    border-top: 1px solid var(--line);
    display: flex;
    gap: var(--space-4);
    justify-content: space-between;
    padding-top: var(--space-4);
}

.maker-resume-sort {
    align-items: center;
    color: var(--muted);
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.82rem;
    gap: var(--space-2);
    margin-left: auto;
}

.maker-resume-sort select {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font: inherit;
    padding: 0.4rem 0.65rem;
}

.maker-resume-list {
    border-top: 1px solid var(--line);
    margin-top: calc(var(--space-2) * -1);
}

.maker-resume-list-head {
    color: var(--muted);
    display: grid;
    flex: 1 1 auto;
    font-size: 0.68rem;
    font-weight: 800;
    gap: var(--space-3);
    grid-template-columns: 3.75rem minmax(0, 1.15fr) minmax(0, 1fr);
    letter-spacing: 0.06em;
    min-width: 0;
    padding: 0.65rem 0 0.35rem;
    text-transform: uppercase;
}

.maker-resume-credit {
    align-items: start;
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 3.75rem minmax(0, 1.15fr) minmax(0, 1fr);
    padding: 0.8rem 0;
}

.maker-resume-credit:last-child {
    border-bottom: 0;
}

.maker-resume-credit-year {
    color: var(--theatre-brown);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.35;
    padding-top: 0.12rem;
}

.maker-resume-credit-production {
    align-items: flex-start;
    display: flex;
    gap: var(--space-2);
    min-width: 0;
}

.maker-resume-credit-production-copy {
    min-width: 0;
}

.maker-resume-credit-production strong {
    display: block;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.32;
}

.maker-resume-credit-meta {
    color: var(--muted);
    display: block;
    font-size: 0.8rem;
    line-height: 1.4;
    margin-top: 0.15rem;
}

.maker-resume-credit-role {
    align-items: start;
    display: grid;
    gap: 0.2rem;
    justify-items: start;
    min-width: 0;
}

.maker-resume-credit-role-text {
    color: var(--stage-black);
    display: block;
    font-size: 0.9rem;
    line-height: 1.4;
}

.maker-resume-bookmark {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--muted);
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    height: 24px;
    justify-content: center;
    margin-top: 0.05rem;
    padding: 0;
    width: 24px;
}

.maker-resume-bookmark .nav-icon {
    height: 14px;
    width: 14px;
}

.maker-resume-bookmark.is-active,
.maker-resume-bookmark:hover {
    color: var(--golden-stage);
}

.maker-resume-build {
    position: relative;
    width: fit-content;
}

.maker-resume-build-link {
    color: var(--theatre-brown);
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
}

.maker-resume-build-link:hover,
.maker-resume-build-link:focus-visible {
    color: var(--golden-stage);
    text-decoration: underline;
}

.maker-resume-build-popover {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: 0 16px 36px rgba(15, 15, 16, 0.14);
    display: none;
    gap: var(--space-2);
    left: 0;
    padding: var(--space-2);
    pointer-events: none;
    position: absolute;
    top: calc(100% + 0.25rem);
    width: min(240px, 72vw);
    z-index: 30;
}

.maker-resume-build-popover.is-open {
    display: grid;
    pointer-events: auto;
}

.maker-resume-build-popover img,
.maker-resume-build-popover-fallback {
    aspect-ratio: 4 / 3;
    background: var(--surface);
    border-radius: var(--radius-sm);
    display: block;
    object-fit: cover;
    width: 100%;
}

.maker-resume-build-popover-copy {
    display: grid;
    gap: 0.15rem;
}

.maker-resume-build-popover-copy strong {
    font-size: 0.88rem;
    line-height: 1.25;
}

.maker-resume-build-popover-copy span {
    color: var(--muted);
    font-size: 0.76rem;
    line-height: 1.35;
}

.maker-resume-foot {
    display: flex;
    justify-content: center;
    padding-top: var(--space-2);
}

.maker-resume-show-more {
    min-width: min(100%, 280px);
}

.maker-resume-empty-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.maker-resume-sidebar {
    display: grid;
    gap: var(--space-4);
    position: sticky;
    top: 5.5rem;
}

.maker-resume-sidebar ~ .maker-resume-sidebar {
    display: none !important;
}

.maker-resume-widget {
    background: var(--surface);
    border: 1px solid rgba(15, 15, 16, 0.08);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    padding: var(--space-4);
}

.maker-resume-widget h2 {
    font-family: Inter, system-ui, sans-serif;
    font-size: 0.98rem;
    margin: 0 0 var(--space-3);
}

.maker-resume-stats-grid {
    display: grid;
    gap: var(--space-2);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.maker-resume-stat {
    align-items: center;
    background: rgba(247, 247, 243, 0.72);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    display: grid;
    gap: 0.15rem;
    justify-items: center;
    padding: var(--space-2) var(--space-2);
    text-align: center;
}

.maker-resume-stat-icon {
    align-items: center;
    color: rgba(15, 15, 16, 0.42);
    display: inline-flex;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.maker-resume-stat-icon .nav-icon {
    height: 22px;
    width: 22px;
}

.maker-resume-stat-label {
    color: var(--muted);
    font-size: 0.72rem;
    line-height: 1.25;
}

.maker-resume-stat-value {
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
}

.maker-resume-widget-cta p {
    color: var(--muted);
    font-size: 0.88rem;
    margin: 0 0 var(--space-3);
}

.maker-resume-widget-cta ~ .maker-resume-widget-cta {
    display: none !important;
}

@media (max-width: 980px) {
    .maker-resume-layout {
        display: flex;
        flex-direction: column;
        gap: var(--space-5);
    }

    .maker-resume-main {
        display: contents;
    }

    .maker-resume-head {
        align-items: stretch;
        flex-direction: column;
        gap: var(--space-3);
        order: 1;
    }

    .maker-resume-head-copy {
        flex: 0 1 auto;
    }

    .maker-resume-head-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .maker-resume-head-actions .button {
        flex: 1 1 auto;
    }

    .maker-resume-controls {
        order: 2;
    }

    .maker-resume-sidebar {
        order: 3;
        position: static;
        top: auto;
        width: 100%;
    }

    .maker-resume-list-top {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-3);
        order: 4;
    }

    .maker-resume-sort {
        margin-left: 0;
    }

    .maker-resume-list {
        order: 5;
        margin-top: 0;
    }

    .maker-resume-foot {
        order: 6;
    }

    .maker-resume-list-head {
        display: none;
    }

    .maker-resume-credit {
        gap: 0.25rem var(--space-3);
        grid-template-columns: 3.25rem minmax(0, 1fr);
        grid-template-areas:
            "year production"
            "year role";
    }

    .maker-resume-credit-year {
        grid-area: year;
    }

    .maker-resume-credit-production {
        grid-area: production;
    }

    .maker-resume-credit-role {
        grid-area: role;
    }
}

/* Maker profile tab refinements */
.maker-panel-lead {
    color: var(--muted);
    margin: 0.35rem 0 0;
    max-width: 52ch;
}

.maker-highlight-track {
    display: grid;
    gap: var(--space-4);
    grid-auto-flow: column;
    grid-auto-columns: minmax(260px, 320px);
    margin-top: var(--space-5);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding-bottom: var(--space-2);
    scroll-snap-type: x mandatory;
}

.maker-highlight-track .project-card {
    scroll-snap-align: start;
}

.maker-portfolio-foot {
    display: flex;
    justify-content: center;
    margin-top: var(--space-5);
}

.maker-portfolio-show-more {
    min-width: min(100%, 280px);
}

.maker-stat-label {
    font-weight: 600;
}

.maker-stat-member-since {
    font-size: 0.92rem;
}

.maker-about-split {
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(0, 1.4fr) minmax(220px, 320px);
    align-items: start;
}

.maker-about-photo img {
    border-radius: var(--radius-md);
    display: block;
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 5;
}

.maker-about-copy-body {
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.7;
    margin-top: var(--space-4);
    max-width: 62ch;
}

.maker-about-skills {
    margin-top: var(--space-6);
}

.maker-about-skills h3,
.maker-hire-block h3 {
    font-size: 1rem;
    margin: 0 0 var(--space-3);
}

.maker-about-skills-grid {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

.maker-about-skill-card {
    align-items: center;
    background: rgba(15, 15, 16, 0.03);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-height: 108px;
    justify-content: center;
    padding: var(--space-3);
    text-align: center;
}

.maker-about-skill-icon {
    align-items: center;
    color: var(--golden-stage);
    display: inline-flex;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.maker-philosophy {
    border-left: 4px solid var(--golden-stage);
    color: var(--stage-black);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.5;
    margin: var(--space-6) 0 0;
    padding: var(--space-2) 0 var(--space-2) var(--space-4);
}

.maker-philosophy p {
    margin: 0;
}

.maker-about-meta-row {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin: var(--space-6) 0 0;
}

.maker-about-meta-row dt {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.maker-about-meta-row dd {
    margin: 0.25rem 0 0;
}

.maker-hire-panel {
    display: grid;
    gap: var(--space-5);
}

.maker-hire-lead {
    color: var(--muted);
    margin: 0.35rem 0 0;
    max-width: 52ch;
}

.maker-hire-grid {
    display: grid;
    gap: var(--space-5);
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 360px);
}

.maker-hire-main,
.maker-hire-aside {
    display: grid;
    gap: var(--space-4);
}

.maker-hire-block {
    background: rgba(247, 247, 243, 0.72);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.maker-checklist--services {
    margin-top: 0;
}

.maker-hire-availability,
.maker-hire-preferences {
    display: grid;
    gap: var(--space-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.maker-hire-availability li,
.maker-hire-preferences li {
    align-items: flex-start;
    display: flex;
    gap: var(--space-2);
}

.maker-hire-status-dot {
    background: #3d8060;
    border-radius: 999px;
    flex-shrink: 0;
    height: 0.55rem;
    margin-top: 0.45rem;
    width: 0.55rem;
}

.maker-hire-contact-list {
    display: grid;
    gap: var(--space-2);
}

.maker-hire-contact-link {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: inherit;
    display: flex;
    gap: var(--space-3);
    padding: var(--space-3);
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.maker-hire-contact-link:hover {
    border-color: rgba(212, 175, 55, 0.55);
    box-shadow: 0 8px 18px rgba(15, 15, 16, 0.06);
}

.maker-hire-contact-icon {
    align-items: center;
    background: rgba(212, 175, 55, 0.12);
    border-radius: 10px;
    color: #9a7618;
    display: inline-flex;
    flex-shrink: 0;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.maker-hire-contact-copy {
    display: grid;
    gap: 0.15rem;
}

.maker-hire-contact-copy strong {
    font-size: 0.95rem;
}

.maker-hire-contact-copy span {
    color: var(--muted);
    font-size: 0.84rem;
}

.maker-hire-resume-card p {
    color: var(--muted);
    margin: 0 0 var(--space-3);
}

.maker-profile-tab-about .maker-layout,
.maker-profile-tab-hire .maker-layout,
.maker-profile-tab-contact .maker-layout {
    grid-template-columns: minmax(0, 1fr);
}

.maker-profile-tab-about .maker-sidebar,
.maker-profile-tab-hire .maker-sidebar,
.maker-profile-tab-contact .maker-sidebar {
    display: none;
}

@media (max-width: 900px) {
    .maker-about-split,
    .maker-hire-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .maker-profile-nav-grid {
        gap: var(--space-2);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .maker-profile-nav-card {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2);
        min-height: 96px;
        padding: var(--space-3);
    }

    .maker-profile-nav-card:hover {
        transform: none;
    }

    .maker-highlight-track {
        display: grid;
        gap: var(--space-4);
        grid-auto-columns: unset;
        grid-auto-flow: row;
        grid-template-columns: 1fr;
        overflow-x: visible;
        scroll-snap-type: none;
    }

    .maker-highlight-track .project-card {
        scroll-snap-align: none;
    }

    .maker-highlight-track .portfolio-item-card__media,
    .maker-highlight-track .project-card-media {
        aspect-ratio: 16 / 10;
    }

    .maker-highlight-track .portfolio-item-card__creator-row,
    .maker-highlight-track .portfolio-item-card__creator-avatar-link,
    .maker-highlight-track .portfolio-item-card__details,
    .maker-highlight-track .portfolio-item-card__footer,
    .maker-highlight-track .project-card-tags,
    .maker-highlight-track .project-card-byline {
        display: none;
    }

    .maker-portfolio-all.project-grid {
        gap: 0;
        grid-template-columns: 1fr;
    }

    .maker-portfolio-all .project-card,
    .maker-portfolio-all .portfolio-item-card {
        background: transparent;
        border: 0;
        border-bottom: 1px solid var(--line);
        border-radius: 0;
        box-shadow: none;
        display: grid;
        gap: var(--space-3);
        grid-template-columns: 88px minmax(0, 1fr);
        padding: var(--space-3) 0;
    }

    .maker-portfolio-all .project-card:last-child,
    .maker-portfolio-all .portfolio-item-card:last-child {
        border-bottom: 0;
    }

    .maker-portfolio-all .project-card:hover,
    .maker-portfolio-all .portfolio-item-card:hover {
        box-shadow: none;
        transform: none;
    }

    .maker-portfolio-all .portfolio-item-card__media,
    .maker-portfolio-all .project-card-media {
        aspect-ratio: 1;
        border-radius: var(--radius-sm);
        min-height: 88px;
        width: 88px;
    }

    .maker-portfolio-all .portfolio-item-card__body,
    .maker-portfolio-all .project-card-body {
        align-content: center;
        display: block;
        padding: 0;
    }

    .maker-portfolio-all .portfolio-item-card__creator-row,
    .maker-portfolio-all .portfolio-item-card__creator-avatar-link,
    .maker-portfolio-all .portfolio-item-card__details,
    .maker-portfolio-all .portfolio-item-card__footer,
    .maker-portfolio-all .portfolio-item-card__actions,
    .maker-portfolio-all .project-card-tags,
    .maker-portfolio-all .project-card-byline,
    .maker-portfolio-all .project-card-featured-badge {
        display: none;
    }

    .maker-portfolio-all .portfolio-item-card__title,
    .maker-portfolio-all .project-card h2 {
        font-size: 1rem;
        line-height: 1.25;
    }

    .maker-portfolio-all .portfolio-item-card__skills-wrap,
    .maker-portfolio-all .portfolio-item-card__skills,
    .maker-portfolio-all .project-card-contribution {
        font-size: 0.66rem;
        margin-top: 0.25rem;
    }

    .maker-portfolio-all .project-card.is-profile-featured {
        border: 0;
        box-shadow: none;
    }

    body.maker-profile-page .maker-stats-shell {
        display: flex;
        flex-wrap: nowrap;
        gap: var(--space-4);
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.maker-profile-page .maker-stats-shell::-webkit-scrollbar {
        display: none;
    }

    body.maker-profile-page .maker-stat {
        flex: 0 0 auto;
        white-space: nowrap;
        width: auto;
    }
}

@media (min-width: 981px) {
    .maker-portfolio-foot[data-maker-portfolio-foot] {
        display: none !important;
    }

    .maker-portfolio-all [data-portfolio-row][hidden] {
        display: block !important;
    }

    .maker-portfolio-all .project-card[data-portfolio-row][hidden] {
        display: block !important;
    }
}

/* Marketplace */
.marketplace-hero {
    background: linear-gradient(135deg, rgba(15, 15, 16, 0.98), rgba(45, 38, 24, 0.92));
    color: var(--warm-white);
}

.marketplace-hero .lead,
.marketplace-hero .eyebrow,
.marketplace-hero h1 {
    color: var(--warm-white);
}

.marketplace-search-form,
.marketplace-filters {
    display: grid;
    gap: var(--space-4);
}

.marketplace-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--space-3);
}

.marketplace-category-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 88px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.marketplace-category-tile:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-card);
}

.marketplace-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--space-4);
}

.marketplace-card {
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    position: relative;
}

.marketplace-card--compact {
    grid-template-columns: 96px 1fr;
    grid-template-rows: auto;
    align-items: center;
}

.marketplace-card--compact .marketplace-card-media {
    aspect-ratio: 1;
    min-height: 96px;
}

.marketplace-card-media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--line);
}

.marketplace-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.marketplace-card-media-fallback,
.marketplace-card-media--brick,
.marketplace-card-media--gold,
.marketplace-card-media--forest,
.marketplace-card-media--slate,
.marketplace-card-media--canvas {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    font-weight: 700;
    color: var(--warm-white);
}

.marketplace-card-media--brick { background: linear-gradient(160deg, #8b3a2f, #c45c4a); }
.marketplace-card-media--gold { background: linear-gradient(160deg, #8a6b1f, #c9a227); }
.marketplace-card-media--forest { background: linear-gradient(160deg, #1f4d3a, #3d8060); }
.marketplace-card-media--slate { background: linear-gradient(160deg, #3a4250, #667085); }
.marketplace-card-media--canvas { background: linear-gradient(160deg, #6b5b4f, #9a8475); }

.marketplace-card-body {
    display: grid;
    gap: var(--space-2);
    padding: var(--space-4);
}

.marketplace-card-top {
    display: flex;
    justify-content: space-between;
    gap: var(--space-2);
    align-items: flex-start;
}

.marketplace-card-title {
    font-size: 1.05rem;
    margin: 0;
}

.marketplace-card-title a {
    color: inherit;
    text-decoration: none;
}

.marketplace-card-price {
    font-weight: 700;
    color: var(--deep-forest);
    margin: 0;
}

.marketplace-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    color: rgba(15, 15, 16, 0.72);
    font-size: 0.92rem;
    margin: 0;
}

.marketplace-card-save {
    position: absolute;
    top: var(--space-3);
    right: var(--space-3);
    border: 0;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 999px;
    width: 36px;
    height: 36px;
    cursor: pointer;
    box-shadow: var(--shadow-card);
}

.marketplace-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: var(--space-5);
    align-items: start;
}

.marketplace-listing-page .page-hero-compact .section {
    padding-bottom: var(--space-4);
    padding-top: var(--space-5);
}

.marketplace-listing-page .marketplace-listing-body.section {
    padding-top: var(--space-4);
}

.marketplace-detail-copy h1 {
    font-size: clamp(1.85rem, 3vw, 2.65rem);
    margin-top: var(--space-3);
}

.marketplace-detail-location {
    margin-top: var(--space-3);
}

.marketplace-detail-description {
    color: var(--charcoal);
    font-size: 0.98rem;
    line-height: 1.65;
    margin-top: var(--space-4);
    max-width: 52ch;
}

.marketplace-detail-actions {
    flex-wrap: wrap;
    margin-top: var(--space-4);
}

.marketplace-inquiry-notice {
    background: rgba(212, 160, 23, 0.1);
    border: 1px solid rgba(212, 160, 23, 0.22);
    border-radius: var(--radius-sm);
    display: grid;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    width: 100%;
}

.marketplace-inquiry-notice-label {
    color: var(--deep-forest);
    font-size: 0.92rem;
    font-weight: 700;
    margin: 0;
}

.marketplace-listing-content {
    display: grid;
    gap: 0;
}

.marketplace-listing-block:first-child {
    margin-top: 0;
    padding-top: 0;
}

.marketplace-listing-details {
    margin-top: var(--space-5);
    padding-top: var(--space-5);
}

.marketplace-listing-content > .marketplace-listing-details:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.marketplace-listing-block + .marketplace-listing-block {
    border-top: 1px solid var(--line);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
}

.marketplace-listing-block h3 {
    margin-bottom: var(--space-3);
}

.marketplace-listing-block .rich-text,
.marketplace-listing-notes {
    color: var(--charcoal);
    line-height: 1.65;
    margin: 0;
}

.marketplace-listing-details .detail-list {
    margin-top: 0;
}

.marketplace-delivery-list {
    margin: 0 0 var(--space-3);
    padding-left: 1.2rem;
}

.marketplace-delivery-list li + li {
    margin-top: 0.35rem;
}

.marketplace-report {
    margin-top: var(--space-5);
}

.marketplace-gallery-main {
    aspect-ratio: 1 / 1;
    max-height: 400px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--line);
}

.marketplace-gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.marketplace-gallery-main--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
}

.marketplace-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: var(--space-2);
    margin-top: var(--space-3);
}

.marketplace-gallery-thumbs img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--radius-sm);
}

.marketplace-detail-price {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--deep-forest);
    margin-top: var(--space-3);
}

.marketplace-seller-card,
.marketplace-login-prompt {
    display: grid;
    gap: var(--space-3);
}

.marketplace-seller-head {
    display: flex;
    gap: var(--space-3);
    align-items: center;
}

.marketplace-seller-more {
    display: grid;
    gap: var(--space-3);
}

.marketplace-inquiry-context-link {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: var(--space-3);
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.marketplace-inquiry-context-link img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: var(--radius-sm);
}

.marketplace-inquiry-list {
    display: grid;
    gap: var(--space-3);
}

.marketplace-inquiry-item-link {
    display: grid;
    grid-template-columns: 96px 1fr auto;
    gap: var(--space-3);
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.marketplace-inquiry-item-link img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: var(--radius-sm);
}

.marketplace-inquiry-thread {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.marketplace-inquiry-message {
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: rgba(15, 15, 16, 0.04);
}

.marketplace-inquiry-message.is-mine {
    background: rgba(201, 162, 39, 0.12);
}

.marketplace-inquiry-message-meta {
    margin: 0 0 var(--space-2);
    font-size: 0.92rem;
    color: rgba(15, 15, 16, 0.72);
}

.marketplace-inquiry-message-body {
    margin: 0;
}

.marketplace-status-filters {
    flex-wrap: wrap;
    margin-bottom: var(--space-4);
}

@media (max-width: 900px) {
    .marketplace-detail-hero {
        grid-template-columns: 1fr;
    }

    .marketplace-inquiry-item-link,
    .marketplace-inquiry-context-link {
        grid-template-columns: 72px 1fr;
    }
}

/* Site-wide mobile polish */
@media (max-width: 980px) {
    .nav-drawer {
        max-height: calc(100dvh - 72px);
        max-height: calc(100svh - 72px);
        overscroll-behavior: contain;
        padding-bottom: max(var(--space-6), env(safe-area-inset-bottom, 0px));
    }

    .hero,
    .home-section-alt {
        padding-left: max(var(--space-4), env(safe-area-inset-left, 0px));
        padding-right: max(var(--space-4), env(safe-area-inset-right, 0px));
    }

    .maker-stats-shell {
        display: grid;
        gap: var(--space-3);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .maker-stat {
        width: auto;
    }

    .creator-hero-top {
        align-items: stretch;
        flex-direction: column;
    }

    .creator-hero-completion {
        max-width: none;
        width: 100%;
    }

    .engagement-bar {
        align-items: stretch;
        flex-direction: column;
        gap: var(--space-3);
    }

    .engagement-actions {
        width: 100%;
    }

    .engagement-actions .button,
    .engagement-actions .button-secondary {
        flex: 1 1 calc(50% - var(--space-2));
        justify-content: center;
        min-width: 0;
    }

    .project-detail-header__top {
        align-items: stretch;
        flex-direction: column;
    }

    .project-detail-actions {
        justify-content: stretch;
        width: 100%;
    }

    .project-detail-actions__group {
        width: 100%;
    }

    .project-detail-action-btn {
        flex: 1 1 calc(50% - var(--space-2));
        min-width: 0;
    }

    .project-detail-action-btn--primary {
        width: 100%;
    }

    .project-detail-grid {
        grid-template-columns: 1fr;
    }

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

    .message-inbox-item {
        align-items: start;
        grid-template-columns: minmax(0, 1fr);
    }

    .message-inbox-meta {
        justify-items: start;
        text-align: left;
    }

    .message-bubble {
        max-width: 92%;
    }

    .profile-link-field {
        flex-direction: column;
    }

    .profile-link-prefix {
        border-bottom: 0;
        border-radius: var(--radius-sm) var(--radius-sm) 0 0;
        border-right: 1px solid var(--line);
        width: 100%;
    }

    .profile-link-field input {
        border-radius: 0 0 var(--radius-sm) var(--radius-sm);
        border-top: 0;
        flex-basis: auto;
        width: 100%;
    }

    .credits-manage-item {
        align-items: stretch;
        flex-direction: column;
    }

    .credits-manage-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .marketplace-detail-actions {
        flex-direction: column;
    }

    .marketplace-detail-actions .button,
    .marketplace-detail-actions .button-secondary {
        justify-content: center;
        width: 100%;
    }

    .marketplace-status-filters {
        gap: var(--space-2);
    }

    .marketplace-status-filters .button,
    .marketplace-status-filters .button-secondary {
        flex: 1 1 auto;
        justify-content: center;
        min-width: calc(50% - var(--space-2));
    }

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

    .pricing-comparison-scroll {
        -webkit-overflow-scrolling: touch;
    }

    .maker-resume-filter-row {
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--space-4);
    }

    .maker-highlight-track {
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: var(--space-4);
    }
}

@media (max-width: 640px) {
    .auth-wrap {
        padding: var(--space-5) max(var(--space-4), env(safe-area-inset-right, 0px)) var(--space-6) max(var(--space-4), env(safe-area-inset-left, 0px));
    }

    .auth-card,
    .panel,
    .admin-card {
        padding: var(--space-4);
    }

    .form-actions,
    .button-row {
        flex-direction: column;
    }

    .form-actions .button,
    .form-actions .button-secondary,
    .button-row .button,
    .button-row .button-secondary {
        justify-content: center;
        width: 100%;
    }

    .section-header .button-row {
        width: 100%;
    }

    .marketplace-grid {
        grid-template-columns: 1fr;
    }

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

    .marketplace-inquiry-item-link {
        gap: var(--space-3);
        grid-template-columns: 64px minmax(0, 1fr);
        position: relative;
    }

    .marketplace-inquiry-item-link img {
        height: 64px;
        width: 64px;
    }

    .marketplace-inquiry-item-link .message-unread-badge {
        position: absolute;
        right: var(--space-3);
        top: var(--space-3);
    }

    .maker-resume-list-top {
        align-items: stretch;
        flex-direction: column;
    }

    .maker-resume-sort {
        justify-content: space-between;
        width: 100%;
    }

    .maker-resume-sort select {
        flex: 1;
        max-width: none;
    }

    .maker-resume-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .maker-about-skills-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .maker-about-meta-row {
        grid-template-columns: 1fr;
    }

    .maker-hero-avatar img,
    .maker-hero-avatar-fallback {
        height: 88px;
        width: 88px;
    }

    .maker-profile-nav-copy strong {
        font-size: 0.82rem;
    }

    .maker-profile-nav-copy span {
        font-size: 0.78rem;
    }

    .creator-stat-card {
        min-width: 0;
    }

    .job-card-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .notification-item {
        padding: var(--space-3);
    }

    .credit-card-head {
        flex-direction: column;
    }

    .credit-import-preview-head {
        flex-direction: column;
    }

    .admin-plan-form-actions {
        flex-direction: column;
    }

    .admin-plan-form-actions .button,
    .admin-plan-form-actions .button-secondary {
        justify-content: center;
        width: 100%;
    }

    .admin-table-wrap {
        margin-inline: calc(var(--space-4) * -1);
        padding-inline: var(--space-4);
    }

    .pricing-comparison {
        margin-inline: calc(var(--space-4) * -1);
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    .footer-bottom {
        flex-direction: column;
        gap: var(--space-2);
        text-align: center;
    }
}

@media (max-width: 480px) {
    .maker-profile-nav-card {
        min-height: 88px;
    }

    .maker-profile-nav-icon {
        height: 36px;
        width: 36px;
    }

    .maker-profile-nav-copy span {
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        overflow: hidden;
    }

    .maker-portfolio-all .project-card {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .maker-portfolio-all .project-card-media {
        min-height: 72px;
        width: 72px;
    }

    .marketplace-card--compact {
        grid-template-columns: 1fr;
    }

    .marketplace-card--compact .marketplace-card-media {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }

    .engagement-actions .button,
    .engagement-actions .button-secondary {
        flex-basis: 100%;
        width: 100%;
    }

    .marketplace-status-filters .button,
    .marketplace-status-filters .button-secondary {
        min-width: 100%;
    }
}

@media (hover: none) {
    .project-card:hover,
    .portfolio-card:hover,
    .creator-card:hover,
    .marketplace-category-tile:hover,
    .maker-profile-nav-card:hover,
    .creator-stat-card:hover {
        box-shadow: var(--shadow-soft);
        transform: none;
    }

    .project-card:hover .project-card-media.has-image img {
        transform: none;
    }
}

a,
button,
.button,
.maker-profile-nav-card,
.maker-workspace-nav__tab,
.maker-workspace-nav__preview,
.nav-drawer-link,
.maker-resume-filter {
    touch-action: manipulation;
}

.onboarding-page {
    background: var(--paper);
}

.onboarding-topbar {
    background: var(--stage-black);
    border-bottom: 1px solid rgba(247, 247, 243, 0.08);
    width: 100%;
}

.onboarding-topbar-inner {
    align-items: center;
    display: flex;
    gap: var(--space-4);
    justify-content: space-between;
    margin: 0 auto;
    max-width: 760px;
    padding: var(--space-4);
}

.onboarding-shell {
    margin: 0 auto;
    max-width: 760px;
    min-height: calc(100vh - 72px);
    padding: var(--space-5) var(--space-4) var(--space-6);
}

.onboarding-shell-brand img {
    display: block;
    height: 37px;
    width: auto;
}

.onboarding-shell-logout {
    flex-shrink: 0;
}

.onboarding-error-summary {
    background: #fdecea;
    border: 1px solid #c0392b;
    border-left: 4px solid #c0392b;
    border-radius: var(--radius-md);
    color: #8b1e13;
    margin-bottom: var(--space-4);
    padding: var(--space-4);
}

.onboarding-error-summary strong {
    display: block;
    margin-bottom: var(--space-2);
}

.onboarding-error-summary ul {
    margin: 0;
    padding-left: 1.2rem;
}

.onboarding-error-summary li + li {
    margin-top: 0.35rem;
}

.onboarding-upload-saved {
    color: #2e7d32;
    font-size: 0.88rem;
    font-weight: 600;
    margin: 0.35rem 0 0;
}

.onboarding-wizard-intro {
    margin-bottom: var(--space-5);
}

.onboarding-wizard-intro h1 {
    margin-bottom: var(--space-3);
}

.onboarding-wizard-steps {
    display: grid;
    gap: var(--space-2);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0 0 var(--space-4);
    padding: 0;
}

.onboarding-wizard-step {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-3);
    text-align: center;
}

.onboarding-wizard-step.is-current {
    border-color: var(--golden-stage);
    box-shadow: inset 0 0 0 1px var(--golden-stage);
}

.onboarding-wizard-step.is-done {
    background: rgba(198, 156, 74, 0.08);
}

.onboarding-wizard-step-number {
    align-items: center;
    background: var(--ink);
    border-radius: 999px;
    color: var(--paper);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 700;
    height: 1.75rem;
    justify-content: center;
    width: 1.75rem;
}

.onboarding-wizard-step.is-done .onboarding-wizard-step-number {
    background: var(--golden-stage);
    color: var(--ink);
}

.onboarding-wizard-step-label {
    font-size: 0.82rem;
    line-height: 1.3;
}

.onboarding-step-panel {
    margin-top: var(--space-4);
}

.onboarding-finish-panel .onboarding-upgrade-soft {
    border-top: 1px solid var(--line);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
}

.onboarding-finish-panel .onboarding-upgrade-soft h3 {
    margin-bottom: var(--space-2);
}

@media (max-width: 720px) {
    .onboarding-wizard-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Beta tester notice + sticky feedback */
.beta-banner {
    background: #1c1c1f;
    color: #f4f1ea;
    border-bottom: 1px solid rgba(244, 241, 234, 0.12);
    font-size: 0.875rem;
}

.beta-banner__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    padding-block: 0.55rem;
}

.beta-banner__label {
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.7rem;
    color: #d4a574;
}

.beta-banner__message {
    flex: 1 1 12rem;
    opacity: 0.92;
}

.beta-banner__message-short {
    display: none;
}

.beta-banner__message-long {
    display: inline;
}

.beta-banner__feedback {
    appearance: none;
    border: 1px solid rgba(244, 241, 234, 0.28);
    background: transparent;
    color: inherit;
    border-radius: 999px;
    padding: 0.35rem 0.85rem;
    font: inherit;
    cursor: pointer;
}

.beta-banner__feedback:hover {
    border-color: rgba(244, 241, 234, 0.55);
}

@media (max-width: 720px) {
    .beta-banner {
        font-size: 0.8rem;
    }

    .beta-banner__inner {
        gap: 0.45rem 0.75rem;
        padding-block: 0.4rem;
    }

    .beta-banner__message-short {
        display: inline;
    }

    .beta-banner__message-long {
        display: none;
    }

    .beta-banner__feedback {
        padding: 0.28rem 0.7rem;
        font-size: 0.78rem;
    }

    .nav-actions .nav-join {
        display: none;
    }

    .nav-drawer-link {
        padding: 0.7rem 0.85rem;
    }

    .nav-drawer-link-main small,
    .nav-drawer-link .user-menu-link-hint {
        display: none;
    }

    .nav-drawer-chevron {
        display: none;
    }

    .browse-hero {
        padding: var(--space-4) 0 var(--space-5);
    }

    .browse-hero h1 {
        font-size: clamp(1.85rem, 7vw, 2.35rem);
        margin-bottom: var(--space-2);
    }

    .browse-hero__lead {
        font-size: 0.95rem;
    }

    .browse-hero__heading {
        gap: var(--space-3);
        margin-bottom: var(--space-3);
    }

    .browse-hero__beta {
        margin-bottom: var(--space-3);
    }

    .browse-search-strip {
        border-radius: var(--radius-md);
        gap: 0.4rem;
        padding: 0.45rem;
    }

    .pricing-comparison-scroll {
        position: relative;
    }

    .pricing-comparison-scroll::after {
        content: "Swipe to compare →";
        color: var(--muted);
        display: block;
        font-size: 0.78rem;
        font-weight: 600;
        margin-top: 0.55rem;
    }

    .maker-workspace-nav {
        top: 64px;
    }

    .maker-workspace-nav__shell {
        padding: 0 var(--space-4);
    }

    .maker-workspace-nav__bar {
        gap: var(--space-2);
        min-height: 48px;
        padding: 0.35rem 0;
    }

    .maker-workspace-nav__label {
        display: none;
    }

    .maker-workspace-nav__tab {
        min-height: 34px;
        padding: 0.3rem 0.7rem 0.3rem 0.45rem;
    }

    .maker-workspace-nav__tab-label {
        font-size: 0.82rem;
    }

    .maker-workspace-nav__preview span {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .maker-workspace-nav__preview {
        border: 1px solid rgba(15, 15, 16, 0.1);
        border-radius: 999px;
        min-height: 34px;
        padding: 0.3rem 0.55rem;
    }
}

@media (max-width: 640px) {
    .settings-profile-url-prefix {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .plan-billing-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .plan-billing-bar .button,
    .plan-billing-bar .button-secondary {
        justify-content: center;
        width: 100%;
    }
}

.beta-notice-dialog,
.beta-feedback-dialog {
    background: transparent;
    border: 0;
    max-width: none;
    padding: 0;
    width: min(520px, calc(100vw - 2rem));
}

.beta-notice-dialog::backdrop,
.beta-feedback-dialog::backdrop {
    background: rgba(15, 15, 16, 0.55);
}

.beta-notice-dialog__panel,
.beta-feedback-dialog__panel {
    margin: 0;
}

.beta-notice-dialog__panel h2,
.beta-feedback-dialog__panel h2 {
    margin: 0 0 var(--space-3);
}

.beta-notice-dialog__panel p,
.beta-feedback-dialog__panel .lead {
    color: var(--muted);
    margin: 0 0 var(--space-4);
}

.beta-feedback-dialog__header {
    align-items: flex-start;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.beta-feedback-dialog__close {
    background: transparent;
    border: 0;
    color: var(--muted);
    cursor: pointer;
    font-size: 1.6rem;
    line-height: 1;
    padding: 0.15rem 0.35rem;
}

.beta-feedback-dialog__close:hover {
    color: var(--stage-black);
}

.beta-feedback-fab {
    align-items: center;
    background: var(--deep-forest);
    border: 1px solid rgba(247, 247, 243, 0.18);
    border-radius: 999px;
    bottom: var(--space-5);
    box-shadow: var(--shadow-card);
    color: var(--warm-white);
    cursor: pointer;
    display: inline-flex;
    font-weight: 700;
    gap: 0.55rem;
    padding: 0.85rem 1.15rem;
    position: fixed;
    right: var(--space-5);
    writing-mode: horizontal-tb;
    z-index: 1100;
}

.beta-feedback-fab:hover {
    background: #254a3c;
}

.beta-feedback-fab__dot {
    background: var(--golden-stage);
    border-radius: 999px;
    display: inline-block;
    flex: 0 0 auto;
    height: 0.55rem;
    width: 0.55rem;
}

.admin-form-divider {
    border: 0;
    border-top: 1px solid var(--line);
    margin: var(--space-5) 0;
}

@media (max-width: 720px) {
    .beta-feedback-fab {
        bottom: var(--space-4);
        right: var(--space-4);
    }
}

/* Shared browse page heroes */
.browse-hero {
    background:
        radial-gradient(circle at top right, rgba(212, 160, 23, 0.14), transparent 34%),
        linear-gradient(180deg, #141417 0%, #0f0f10 100%);
    color: var(--warm-white);
    padding: var(--space-6) 0 var(--space-7);
}

.browse-hero__inner {
    position: relative;
}

.browse-hero__beta {
    align-items: center;
    background: rgba(247, 247, 243, 0.06);
    border: 1px solid rgba(247, 247, 243, 0.12);
    border-radius: 999px;
    color: rgba(247, 247, 243, 0.82);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 600;
    gap: 0.45rem;
    margin: 0 0 var(--space-5);
    padding: 0.4rem 0.75rem 0.4rem 0.45rem;
}

.browse-hero__beta-mark {
    align-items: center;
    background: rgba(212, 160, 23, 0.18);
    border-radius: 999px;
    color: var(--golden-stage);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    height: 1.35rem;
    justify-content: center;
    width: 1.35rem;
}

.browse-hero__heading {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
    margin-bottom: var(--space-5);
}

.browse-hero__copy {
    max-width: 42rem;
}

.browse-hero h1 {
    color: var(--warm-white);
    font-size: clamp(2.4rem, 4vw, 3.4rem);
    letter-spacing: -0.03em;
    line-height: 1.05;
    margin: 0 0 var(--space-3);
}

.browse-hero__lead {
    color: rgba(247, 247, 243, 0.72);
    font-size: 1.05rem;
    line-height: 1.55;
    margin: 0;
    max-width: 40rem;
}

.browse-hero__action {
    background: var(--golden-stage);
    border-color: var(--golden-stage);
    color: var(--stage-black);
    white-space: nowrap;
}

.browse-hero__action:hover {
    background: #e0b12a;
    border-color: #e0b12a;
    color: var(--stage-black);
}

.browse-search-strip {
    align-items: stretch;
    background: rgba(247, 247, 243, 0.06);
    border: 1px solid rgba(247, 247, 243, 0.1);
    border-radius: 999px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    overflow: hidden;
    padding: 0.5rem 0.55rem 0.5rem 0.5rem;
}

.browse-search-strip__query,
.browse-search-strip__filter {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    margin: 0;
    min-width: 0;
}

.browse-search-strip__query {
    background: rgba(15, 15, 16, 0.28);
    border-radius: 999px;
    flex: 1 1 16rem;
    gap: 0.55rem;
    min-width: 12rem;
    padding: 0 1.05rem;
}

.browse-search-strip__icon {
    color: rgba(247, 247, 243, 0.55);
    flex: 0 0 auto;
    height: 1rem;
    width: 1rem;
}

.browse-search-strip input,
.browse-search-strip select {
    background: transparent;
    border: 0;
    box-sizing: border-box;
    color: var(--warm-white);
    font: inherit;
    min-width: 0;
    outline: none;
    padding: 0.85rem 0.15rem;
    width: 100%;
}

.browse-search-strip__filter {
    background: rgba(15, 15, 16, 0.22);
    border-radius: 999px;
    flex: 0 1 11rem;
    max-width: 13.5rem;
    padding: 0 0.35rem 0 0.35rem;
}

.browse-search-strip__filter--text {
    flex: 0 1 11.5rem;
    max-width: 14rem;
}

.browse-search-strip__filter select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23F7F7F3' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-position: right 0.85rem center;
    background-repeat: no-repeat;
    cursor: pointer;
    padding: 0.85rem 2rem 0.85rem 0.95rem;
}

.browse-search-strip__filter--text input {
    padding: 0.85rem 0.95rem;
}

.browse-search-strip input::placeholder {
    color: rgba(247, 247, 243, 0.48);
}

.browse-search-strip option {
    color: var(--stage-black);
}

.browse-search-strip__submit {
    background: var(--golden-stage);
    border-color: var(--golden-stage);
    border-radius: 999px;
    box-sizing: border-box;
    color: var(--stage-black);
    flex: 0 0 auto;
    font-weight: 800;
    margin: 0;
    padding-inline: 1.35rem;
    transform: none;
    white-space: nowrap;
}

.browse-search-strip__submit:hover {
    background: #e0b12a;
    border-color: #e0b12a;
    color: var(--stage-black);
    transform: none;
}

.browse-advanced-filters {
    margin-bottom: var(--space-5);
}

.browse-advanced-filters summary {
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.browse-advanced-filters summary::-webkit-details-marker {
    display: none;
}

.browse-advanced-filters[open] summary {
    margin-bottom: var(--space-4);
}

.browse-advanced-filters .form-grid {
    margin-top: var(--space-2);
}

@media (max-width: 980px) {
    .browse-search-strip {
        border-radius: var(--radius-md);
        flex-wrap: wrap;
    }

    .browse-search-strip__query {
        flex: 1 1 100%;
        min-width: 0;
    }

    .browse-search-strip__filter,
    .browse-search-strip__filter--text {
        flex: 1 1 calc(50% - 0.35rem);
        max-width: none;
    }

    .browse-search-strip__submit {
        flex: 1 1 100%;
    }
}

@media (max-width: 640px) {
    .browse-hero {
        padding: var(--space-5) 0 var(--space-6);
    }

    .browse-hero__heading {
        align-items: start;
        flex-direction: column;
    }

    .browse-search-strip__filter,
    .browse-search-strip__filter--text {
        flex: 1 1 100%;
    }
}

.breadcrumbs {
    margin: 0 0 var(--space-3);
}

.maker-breadcrumbs-wrap {
    padding-bottom: 0;
}

.breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--muted, #6b6b70);
    font-size: 0.875rem;
    line-height: 1.4;
}

.breadcrumbs__item {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.breadcrumbs__item + .breadcrumbs__item::before {
    content: "/";
    color: var(--muted, #6b6b70);
    opacity: 0.7;
}

.breadcrumbs__item a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.breadcrumbs__item a:hover {
    color: var(--text, #17171a);
}

.breadcrumbs__item [aria-current="page"] {
    color: var(--text, #17171a);
    font-weight: 600;
}

/* —— Public beta landing (/beta) —— */
.beta-landing-page {
    background: var(--stage-black);
}

.beta-landing-page #main-content {
    padding: 0;
}

.beta-landing-hero {
    position: relative;
    overflow: hidden;
    color: var(--warm-white);
    min-height: calc(100vh - 5rem);
}

.beta-landing-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.beta-landing-hero__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    transform: scale(1.02);
}

.beta-landing-hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(105deg, rgba(15, 15, 16, 0.94) 0%, rgba(15, 15, 16, 0.78) 42%, rgba(15, 15, 16, 0.52) 100%),
        linear-gradient(0deg, rgba(15, 15, 16, 0.62), transparent 46%);
}

.beta-landing-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 24.5rem);
    gap: clamp(1.75rem, 4vw, 3.25rem);
    align-items: center;
    padding-top: clamp(2.5rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.beta-landing-kicker {
    margin: 0 0 var(--space-3);
    color: var(--golden-stage);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.beta-landing-kicker--ink {
    color: var(--theatre-brown);
}

.beta-landing-hero__copy h1 {
    margin: 0 0 var(--space-4);
    max-width: 14ch;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2.4rem, 5.2vw, 4.2rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--warm-white);
}

.beta-landing-hero__copy h1 span {
    color: var(--golden-stage);
}

.beta-landing-hero__copy .lead {
    margin: 0 0 var(--space-4);
    max-width: 34rem;
    color: rgba(247, 247, 243, 0.86);
    font-size: 1.1rem;
    line-height: 1.55;
}

.beta-landing-community {
    margin: 0 0 var(--space-6);
    max-width: 34rem;
    color: rgba(247, 247, 243, 0.72);
    font-size: 0.98rem;
    line-height: 1.5;
}

.beta-landing-community a {
    color: var(--warm-white);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.beta-landing-preview {
    margin: 0;
    max-width: 28rem;
}

.beta-landing-preview img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 24px 40px rgba(0, 0, 0, 0.45));
}

/* Intentional light signup panel against the dark stage */
.beta-landing-panel {
    background: var(--warm-white);
    color: var(--stage-black);
    border-radius: calc(var(--radius-lg) + 2px);
    box-shadow:
        0 28px 60px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(247, 247, 243, 0.08);
    overflow: hidden;
}

.beta-landing-panel__intro {
    padding: clamp(1.35rem, 3vw, 1.85rem) clamp(1.35rem, 3vw, 1.85rem) var(--space-4);
    background:
        linear-gradient(180deg, rgba(232, 228, 220, 0.65), transparent 68%),
        var(--warm-white);
    border-bottom: 1px solid var(--line);
}

.beta-landing-panel h2 {
    margin: 0 0 var(--space-2);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.7rem, 2.6vw, 2.15rem);
    line-height: 1.15;
    color: var(--stage-black);
}

.beta-landing-panel__lead {
    margin: 0 0 var(--space-4);
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.45;
}

.beta-landing-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.beta-landing-list li {
    position: relative;
    margin: 0 0 0.55rem;
    padding-left: 1.4rem;
    color: rgba(15, 15, 16, 0.86);
    font-size: 0.95rem;
    line-height: 1.4;
}

.beta-landing-list li:last-child {
    margin-bottom: 0;
}

.beta-landing-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.42rem;
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 50%;
    background: var(--golden-stage);
}

.beta-landing-panel__form-wrap {
    padding: var(--space-4) clamp(1.35rem, 3vw, 1.85rem) clamp(1.35rem, 3vw, 1.85rem);
    background: #fff;
}

.beta-landing-panel__hint {
    margin: 0 0 var(--space-4);
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.beta-landing-panel__hint a {
    color: var(--stage-black);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.beta-landing-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
    margin-top: 0;
}

@media (max-width: 540px) {
    .beta-landing-form__grid {
        grid-template-columns: 1fr;
    }
}

.beta-landing-form label {
    display: grid;
    gap: 0.35rem;
    color: rgba(15, 15, 16, 0.78);
    font-size: 0.84rem;
    font-weight: 700;
}

.beta-landing-form__full {
    grid-column: 1 / -1;
}

.beta-landing-form input,
.beta-landing-form textarea {
    width: 100%;
    border: 1px solid rgba(15, 15, 16, 0.16);
    border-radius: var(--radius-sm);
    background: var(--warm-white);
    color: var(--stage-black);
    padding: 0.78rem 0.9rem;
    font: inherit;
}

.beta-landing-form input::placeholder,
.beta-landing-form textarea::placeholder {
    color: rgba(15, 15, 16, 0.38);
}

.beta-landing-form input:focus,
.beta-landing-form textarea:focus {
    outline: 2px solid rgba(212, 160, 23, 0.45);
    outline-offset: 1px;
    border-color: rgba(91, 58, 26, 0.45);
    background: #fff;
}

.beta-landing-submit {
    width: 100%;
    margin-top: var(--space-4);
    background: var(--stage-black);
    border-color: var(--stage-black);
    color: var(--warm-white);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.beta-landing-submit:hover {
    background: #232327;
    border-color: #232327;
    filter: none;
}

.beta-landing-form__note {
    margin: var(--space-3) 0 0;
    color: rgba(15, 15, 16, 0.48);
    font-size: 0.8rem;
    line-height: 1.4;
    text-align: center;
}

.beta-landing-thanks {
    padding: var(--space-4);
    border: 1px solid rgba(212, 160, 23, 0.4);
    border-radius: var(--radius-md);
    background: rgba(212, 160, 23, 0.1);
}

.beta-landing-thanks__title {
    margin: 0 0 var(--space-2);
    color: var(--theatre-brown);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.45rem;
}

.beta-landing-thanks p {
    margin: 0;
    color: rgba(15, 15, 16, 0.78);
    line-height: 1.5;
}

.beta-landing-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.beta-landing-form-sink {
    position: absolute;
    width: 0;
    height: 0;
    border: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.beta-landing-page .site-footer {
    background: var(--stage-black);
    color: rgba(247, 247, 243, 0.7);
}

@media (max-width: 980px) {
    .beta-landing-hero__grid {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .beta-landing-hero__copy h1 {
        max-width: none;
    }

    .beta-landing-preview {
        max-width: 22rem;
    }

    .beta-landing-panel {
        max-width: 32rem;
    }
}

@media (max-width: 640px) {
    .beta-landing-hero {
        min-height: 0;
    }

    .beta-landing-preview {
        display: none;
    }

    .beta-landing-panel {
        max-width: none;
    }
}
