/* RN / September 2026. Shared finish and music-led homepage. */
:root {
  --ink: #101010;
  --ink-soft: #1b1b1b;
  --cream: #f2efe8;
  --cream-deep: #e5e0d6;
  --red: #ee4232;
  --muted-dark: #b6b2a9;
  --muted-light: #625e56;
  --line-dark: rgba(242, 239, 232, 0.18);
  --line-light: rgba(16, 16, 16, 0.18);
  --page-gutter: clamp(1.25rem, 4.5vw, 5rem);
  --section-space: clamp(4.5rem, 7vw, 7rem);
  --display: Impact, "Arial Narrow", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.page-shell { max-width: 94rem; }
html { scroll-padding-top: 6rem; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
[id] { scroll-margin-top: 6rem; }
.site-header {
  min-height: 5rem;
  background: rgba(16, 16, 16, 0.96);
  color: var(--cream);
}
.site-header.is-scrolled { background: rgba(16, 16, 16, 0.96); }
.brand-mark { font-size: 1.7rem; letter-spacing: -0.075em; }
.brand-name { font-size: 0.75rem; letter-spacing: 0.16em; }
.desktop-nav { gap: clamp(1rem, 1.8vw, 2rem); }
.desktop-nav a { font-size: 0.875rem; letter-spacing: 0.07em; padding-block: 0.8rem; }
.site-footer { color: var(--muted-dark); }
.footer-inner { gap: 1.5rem; padding-block: 2rem; }
.footer-inner p, .footer-inner > a { font-size: 0.8rem; }
.display-heading { font-size: clamp(3rem, 6.2vw, 6.25rem); line-height: 0.98; letter-spacing: -0.06em; }
.lead-copy { font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.6; }
.body-copy { line-height: 1.7; }
.overline, .section-index { font-size: 0.75rem; letter-spacing: 0.08em; }
/* Content stays visible if an observer or animation is unavailable. */
.js .reveal { opacity: 1; transform: none; transition: none; }
.ticker-track, .course-loop-track { animation: none; }

.rn-home { color: var(--cream); }
.rn-kicker {
  display: flex; align-items: center; gap: 0.7rem;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.09em;
  text-transform: uppercase;
}
.rn-kicker::before { width: 0.5rem; height: 0.5rem; flex: 0 0 auto; background: var(--red); content: ""; }
.rn-home-hero { padding: 8rem 0 0; background: var(--ink); }
.rn-hero-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.rn-hero-meta > span { color: var(--muted-dark); font-size: 0.75rem; }
.rn-hero-grid {
  display: grid; grid-template-columns: 1.08fr 1fr; gap: clamp(2rem, 5vw, 5rem);
  align-items: center; padding-block: 3.25rem;
}
.rn-hero-copy h1 {
  margin: 0 0 1.75rem; font-family: var(--display);
  font-size: clamp(5.5rem, 11.4vw, 11rem); font-weight: 900;
  letter-spacing: -0.015em; line-height: 0.91; text-transform: uppercase;
}
.rn-hero-copy h1 span { display: block; }
.rn-hero-copy h1 span:last-child { color: var(--red); }
.rn-hero-copy h1 span:nth-child(2) { margin-left: 0.42em; }
.rn-hero-grid { grid-template-columns: 0.95fr 1.05fr; }
.rn-hero-image { border-top: 0.5rem solid var(--red); }
.rn-hero-image img { aspect-ratio: 1537 / 929; height: auto; object-fit: contain; }
.rn-hero-image figcaption { font-weight: 700; }
.rn-career-strip { background: var(--red); color: var(--ink); border-top: 0; }
.rn-career-strip > div { padding-inline: 1.5rem; }
.rn-career-strip > div + div { border-color: rgba(16,16,16,0.25); }
.rn-career-strip dd { color: var(--ink); font-size: 0.8rem; }
.rn-home .rn-section-title { font-family: var(--display); font-size: clamp(3.5rem, 6.5vw, 6.5rem); letter-spacing: 0; text-transform: uppercase; }
.rn-release h3 { font-family: var(--display); font-weight: 400; letter-spacing: 0; text-transform: uppercase; font-size: clamp(2rem, 3.6vw, 3.25rem); }
.rn-hero-copy > p { max-width: 27rem; color: var(--muted-dark); font-size: 1.125rem; line-height: 1.65; }
.rn-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.rn-button {
  display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: space-between;
  gap: 2rem; border: 1px solid var(--red); padding: 0.9rem 1.25rem;
  background: var(--red); color: var(--ink); font-size: 0.875rem; font-weight: 750;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.rn-button:hover { background: var(--cream); border-color: var(--cream); }
.rn-button-secondary { border-color: var(--line-dark); color: var(--cream); background: transparent; }
.rn-button-secondary:hover { border-color: var(--cream); color: var(--ink); }
.rn-hero-image { display: block; position: relative; min-width: 0; }
.rn-hero-image figure { margin: 0; }
.rn-hero-image img { display: block; width: 100%; height: auto; aspect-ratio: 1537 / 929; object-fit: contain; }
.rn-hero-image figcaption {
  display: flex; justify-content: space-between; gap: 1rem;
  border-bottom: 1px solid var(--line-dark); padding-block: 1rem; font-size: 0.8rem;
}
.rn-hero-image figcaption span:last-child { color: var(--red); }
.rn-hero-image:hover figcaption span:last-child { color: var(--cream); }
.rn-career-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--line-dark); }
.rn-career-strip > div { display: flex; align-items: center; gap: 1rem; padding: 1.5rem; }
.rn-career-strip > div + div { border-left: 1px solid rgba(16,16,16,0.25); padding-left: 2rem; }
.rn-career-strip dt { font-size: clamp(1.8rem, 3vw, 2.75rem); line-height: 1; letter-spacing: -0.06em; font-weight: 800; }
.rn-career-strip dd { margin: 0; max-width: 11rem; color: var(--ink); font-size: 0.875rem; line-height: 1.5; }
.rn-section { padding-block: var(--section-space); }
.rn-section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.rn-section-title { margin-top: 1rem; font-size: clamp(2.75rem, 5vw, 5rem); font-weight: 850; line-height: 1; letter-spacing: -0.065em; }
.rn-section-head > p { max-width: 23rem; color: var(--muted-light); font-size: 1rem; line-height: 1.6; }
.rn-music { background: var(--cream); color: var(--ink); }
.rn-release-list { border-top: 1px solid var(--ink); }
.rn-release {
  display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) 8rem 2rem;
  gap: 1.25rem; align-items: center; border-bottom: 1px solid var(--line-light);
  padding: 1.6rem 0; transition: background-color 180ms ease, padding 180ms ease;
}
.rn-release:hover { padding-inline: 1rem; background: var(--cream-deep); }
.rn-release-number { font-size: 0.75rem; color: var(--muted-light); }
.rn-release h3 { font-size: clamp(1.5rem, 2.6vw, 2.5rem); font-weight: 750; letter-spacing: -0.04em; line-height: 1.15; }
.rn-release p { margin-top: 0.35rem; font-size: 0.8rem; color: var(--muted-light); }
.rn-release-platform { font-size: 0.8rem; text-align: right; }
.rn-release-arrow { text-align: right; font-size: 1.5rem; }
.rn-music-footer { display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 1.75rem; font-size: 0.8rem; }
.rn-music-footer > p { color: var(--muted-light); }
.rn-text-link { display: inline-flex; align-items: center; gap: 1rem; font-size: 0.875rem; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 0.4rem; }
.rn-text-link:hover { color: var(--red); }
.rn-artist { background: var(--ink); }
.rn-artist-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.rn-artist-image { margin: 0; }
.rn-artist-image img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.rn-artist-image figcaption { margin-top: 1rem; font-size: 0.75rem; color: var(--muted-dark); }
.rn-artist-copy .rn-section-title { font-size: clamp(4rem, 8vw, 7rem); margin: 1.5rem 0; }
.rn-artist-copy > p:not(.rn-kicker) { max-width: 31rem; color: var(--muted-dark); line-height: 1.7; font-size: 1.125rem; }
.rn-artist-facts { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.75rem; }
.rn-artist-facts span { border: 1px solid var(--line-dark); padding: 0.45rem 0.75rem; font-size: 0.75rem; }
.rn-about { background: var(--cream); color: var(--ink); }
.rn-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); }
.rn-about-copy > p { font-size: 1.125rem; line-height: 1.7; }
.rn-about-copy > p + p { margin-top: 1rem; color: var(--muted-light); }
.rn-principles { margin-top: 2rem; border-top: 1px solid var(--line-light); }
.rn-principles > div { display: grid; grid-template-columns: 5.5rem 1fr; gap: 1.25rem; border-bottom: 1px solid var(--line-light); padding-block: 1rem; }
.rn-principles h3 { font-size: 0.85rem; }
.rn-principles p { color: var(--muted-light); font-size: 1rem; line-height: 1.6; }
.rn-tools { background: #191919; }
.rn-tools .rn-section-head > p { color: var(--muted-dark); }
.rn-tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.rn-tool {
  display: flex; flex-direction: column; align-items: start; min-width: 0;
  border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark);
  padding: clamp(1.5rem, 2.5vw, 2.5rem); transition: background-color 180ms ease;
}
.rn-tool:hover { background: #222; }
.rn-tool > span { font-size: 0.75rem; color: var(--red); font-weight: 700; }
.rn-tool h3 { margin: 2rem 0 1rem; font-size: clamp(1.75rem, 2.7vw, 2.5rem); line-height: 1.1; letter-spacing: -0.05em; }
.rn-tool > p { flex-grow: 1; color: var(--muted-dark); font-size: 1rem; line-height: 1.7; }
.rn-tool > strong { display: flex; justify-content: space-between; width: 100%; gap: 1rem; border-top: 1px solid var(--line-dark); margin-top: 2rem; padding-top: 1rem; font-size: 0.875rem; }
.rn-tool-note { margin-top: 1.5rem; color: var(--muted-dark); font-size: 0.8rem; line-height: 1.6; }
.rn-company { background: var(--cream); color: var(--ink); }
.rn-company-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 4rem; align-items: start; }
.rn-company-copy > p { font-size: 1.125rem; line-height: 1.7; color: var(--muted-light); }
.rn-company-copy .rn-text-link { margin-top: 1.5rem; }
.rn-contact { background: var(--red); color: var(--ink); }
.rn-contact .rn-kicker::before { background: var(--ink); }
.rn-contact-inner { display: flex; flex-direction: column; align-items: start; }
.rn-contact-title { font-size: clamp(3rem, 6.5vw, 6.5rem); letter-spacing: -0.065em; line-height: 1.03; font-weight: 850; margin: 1.5rem 0 2rem; }
.rn-contact-title span { display: block; }
.rn-contact-email { font-size: clamp(1rem, 2.3vw, 1.8rem); border-bottom: 1px solid var(--ink); padding-bottom: 0.5rem; overflow-wrap: anywhere; }
.rn-contact-inner > p { margin-top: 1rem; font-size: 0.875rem; }

/* Carry the quieter rhythm into the existing profile, guide and tools. */
@media screen {
  .artist-profile-hero, .company-hero, .course-hero, .signal-product-hero, .desk-hero, .guide-hero { padding-top: 8rem; }
  .artist-profile-name-wrap h1, .company-hero h1, .course-title,
  .signal-product-copy h1, .desk-hero h1, .guide-hero h1 {
    font-size: clamp(3.25rem, 7.8vw, 7rem); line-height: 0.97; letter-spacing: -0.065em;
  }
  .company-hero::before, .artist-profile-hero::before, .artist-profile-hero::after,
  .signal-product-hero::before, .signal-product-hero::after { display: none; }
  .company-hero-grid, .artist-profile-hero-grid, .course-hero-grid, .signal-product-grid { gap: 3rem; padding-block: 3rem; }
  .artist-profile-hero-grid { min-height: 0; }
  .artist-profile-hero-image { box-shadow: none; }
  .artist-profile-hero-image img { height: auto; aspect-ratio: 1.45; object-fit: cover; }
  .guide-hero { min-height: 0; border-bottom-width: 3px; }
  .guide-hero::before, .guide-hero::after, .course-hero::before, .course-hero::after { display: none; }
  .guide-hero-grid { gap: 3rem; padding-block: 3rem; }
  .company-directory-intro .display-heading { font-size: clamp(2.75rem, 5.5vw, 5.25rem); }
  .company-group-head h2 { font-size: clamp(2.75rem, 4.5vw, 4.5rem); line-height: 1; letter-spacing: -0.05em; }
  .company-division h3 { font-size: 1.65rem; line-height: 1.1; letter-spacing: -0.04em; }
  .company-division-top { align-items: start; flex-wrap: wrap; gap: 0.65rem; }
  .company-division-top b { font-size: 0.875rem; letter-spacing: 0.04em; }
  .light-section .section-index span:first-child,
  .light-section .overline, .company-group-head > span { color: #a62b20; }
  .company-division, .course-outcome, .course-phase, .signal-method-grid article { min-height: 0; }
  .company-close h2, .artist-profile-contact h2 { font-size: clamp(3rem, 6vw, 6rem); line-height: 1; letter-spacing: -0.055em; }
  .course-statement { font-size: clamp(2.75rem, 6vw, 6rem); line-height: 1.03; letter-spacing: -0.055em; }
  .course-spec-big { font-size: clamp(1.8rem, 3vw, 2.75rem); line-height: 1.1; }
  .course-loop { padding-block: 1rem; }
  .course-loop-group { gap: 2rem; }
  .course-loop-group span { font-size: clamp(1.25rem, 3vw, 2.75rem); line-height: 1; }
  .course-loop-group + .course-loop-group { display: none; }
  .artist-profile-hero-image img { filter: none; }
  .guide-module-header h2 { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; letter-spacing: -0.055em; }
  .guide-module-body h3 { font-size: 1.9rem; line-height: 1.15; letter-spacing: -0.035em; }
  .guide-module, .guide-module.is-complete { box-shadow: none; }
  .release-desk, .signal-lab { box-shadow: none; border-top: 3px solid var(--red); }
  .guide-sheet-actions button, .desk-export-actions button, .lab-actions button { min-height: 2.75rem; }
  .desk-field > span, .lab-field > span, .lab-variant label > span:first-child,
  .guide-sheet-field > span, .guide-progress-head > span,
  .course-primary-link, .course-text-link, .guide-primary-action, .guide-secondary-action,
  .arrow-link, .desk-export-actions button, .lab-actions button, .lab-memory button,
  .lab-mode-notice button, .guide-sheet-actions button, .guide-progress-actions,
  .desk-step-label, .lab-step-label { font-size: 0.875rem; letter-spacing: 0.025em; }
  .desk-field input, .desk-field select, .lab-field input, .lab-field select,
  .lab-variant input, .guide-sheet-field textarea { font-size: 1rem; }
  .company-division > p, .company-reality p, .course-outcome p,
  .course-phase p, .signal-method-grid p { font-size: 1rem; line-height: 1.65; }
  .desk-hero::before, .desk-hero::after { display: none; }
  .desk-hero-grid { min-height: 0; gap: 3rem; padding-block: 3rem; }
  .desk-close-inner > a { font-size: clamp(2.75rem, 5vw, 5rem); line-height: 1.05; }
  .desk-section-intro, .lab-section-intro { line-height: 1.65; }
  .course-page .display-heading, .course-title, .guide-hero h1,
  .guide-module-header h2, .company-hero h1, .artist-profile-name-wrap h1,
  .signal-product-copy h1, .desk-hero h1 { letter-spacing: -0.015em; line-height: 1.02; }
  .course-system::after { display: none; }
  .course-system-head, .timeline-head, .workbook-head { grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr); align-items: start; }
  .course-phase-board { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 3rem; }
  .course-phase { min-width: 0; padding: clamp(1.25rem, 2vw, 2rem); }
  .course-phase h3 { margin-top: 2rem; font-size: clamp(1.8rem, 2.4vw, 2.65rem); font-family: var(--sans); line-height: 1.1; letter-spacing: -0.035em; overflow-wrap: anywhere; }
  .course-phase > p { min-height: 0; margin-bottom: 1.5rem; }
  .course-phase li, .course-phase > strong { font-size: 0.875rem; letter-spacing: 0.015em; line-height: 1.6; }
  .course-phase > strong { margin-top: 1.5rem; }
  .course-spec-card { box-shadow: none; align-self: start; }
  .course-spec-big { font-family: var(--sans); font-size: 1.8rem; font-weight: 800; line-height: 1.15; letter-spacing: -0.035em; text-transform: none; }
  .course-spec-head span, .course-spec-card dt, .course-spec-card dd { font-size: 0.875rem; letter-spacing: 0; }
  .course-spec-card dl > div { gap: 1rem; align-items: start; }
  .course-spec-card dd { text-align: right; max-width: 12rem; }
  .course-spec-note { font-size: 0.875rem; text-transform: none; line-height: 1.65; letter-spacing: 0; }
  .release-timeline { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; overflow: visible; padding: 0; margin-top: 3rem; border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
  .release-timeline li { min-width: 0; min-height: 0; border-left: 0; padding: 1.5rem; }
  .release-timeline li:first-child { border-left: 0; }
  .release-timeline li > div { margin-top: 1.5rem; }
  .release-timeline strong { font-family: var(--sans); font-size: 1.1rem; font-weight: 750; letter-spacing: 0; overflow-wrap: anywhere; }
  .release-timeline p { font-size: 1rem; line-height: 1.65; }
  .course-page .curriculum-head, .course-page .course-desk-head { gap: 2rem; }
  .course-desk-preview { box-shadow: none; }
}

@media (max-width: 1050px) and (min-width: 821px) {
  .desktop-nav { gap: 1rem; }
  .desktop-nav a { font-size: 0.875rem; letter-spacing: 0.025em; }
  .rn-career-strip > div { flex-direction: column; align-items: start; gap: 0.6rem; }
  .rn-hero-copy h1 { font-size: 10.5vw; }
}
@media (max-width: 820px) {
  .site-header { min-height: 4.5rem; }
  .mobile-nav { height: 100dvh; overflow-y: auto; padding-top: 5.75rem; gap: 1.5rem; }
  .mobile-nav-links a { font-size: clamp(1.65rem, 5.5vh, 2.75rem); padding-block: 0.5rem; }
  .mobile-nav-meta { font-size: 0.75rem; }
  .mobile-nav-email { font-size: 0.85rem; flex-shrink: 0; }
  .rn-home-hero { padding-top: 6.5rem; }
  .rn-hero-grid { grid-template-columns: 1fr; padding-block: 2rem; gap: 2rem; }
  .rn-hero-copy h1 { font-size: clamp(5rem, 15vw, 8rem); }
  .rn-hero-copy > p { max-width: 34rem; }
  .rn-hero-image img { aspect-ratio: 1537 / 929; }
  .rn-career-strip > div { flex-direction: column; align-items: start; gap: 0.65rem; padding-block: 1.5rem; }
  .rn-career-strip > div + div { padding-left: 1rem; }
  .rn-career-strip dt { font-size: 2rem; }
  .rn-career-strip dd { font-size: 0.75rem; padding-right: 0.5rem; }
  .rn-section-head { align-items: start; flex-direction: column; gap: 1rem; }
  .rn-section-head > p { max-width: 32rem; }
  .rn-artist-grid { grid-template-columns: 0.8fr 1fr; gap: 2rem; }
  .rn-artist-copy .rn-section-title { font-size: clamp(3rem, 7vw, 4rem); }
  .rn-artist-copy > p:not(.rn-kicker) { font-size: 1rem; }
  .rn-about-grid, .rn-company-grid { grid-template-columns: 1fr; gap: 2rem; }
  .rn-tool-grid { grid-template-columns: 1fr; }
  .rn-tool { padding: 1.75rem; }
  .rn-tool h3 { margin-top: 1rem; font-size: 2rem; }
  .rn-tool > strong { margin-top: 1.5rem; }
  .artist-profile-hero-grid, .company-hero-grid, .course-hero-grid, .signal-product-grid { gap: 2rem; }
  .guide-hero-grid { gap: 2rem; }
  .course-phase-board, .release-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .course-system-head, .timeline-head, .workbook-head { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 520px) {
  .rn-hero-meta { align-items: start; flex-direction: column; gap: 0.5rem; }
  .rn-hero-meta > span { font-size: 0.75rem; }
  .rn-hero-copy h1 { font-size: 24vw; }
  .rn-hero-copy > p { font-size: 1rem; }
  .rn-actions { width: 100%; }
  .rn-button { flex: 1 1 auto; gap: 1rem; padding-inline: 1rem; }
  .rn-career-strip dt { font-size: 1.8rem; }
  .rn-release { grid-template-columns: 1.5rem minmax(0, 1fr) 1.5rem; gap: 0.75rem; padding-block: 1.35rem; }
  .rn-release-platform { grid-column: 2; grid-row: 2; text-align: left; color: var(--muted-light); font-size: 0.75rem; }
  .rn-release-arrow { grid-column: 3; grid-row: 1 / span 2; }
  .rn-release p { font-size: 0.75rem; }
  .rn-music-footer { flex-direction: column; align-items: start; }
  .rn-artist-grid { grid-template-columns: 1fr; }
  .rn-artist-image { max-width: 100%; }
  .rn-artist-copy .rn-section-title { font-size: 4.25rem; }
  .rn-home .rn-section-title { font-size: 2.75rem; }
  .rn-home .rn-artist-copy .rn-section-title { font-size: 4.25rem; }
  .rn-principles > div { grid-template-columns: 4.5rem 1fr; gap: 1rem; }
  .rn-contact-title { font-size: 13vw; }
  .artist-profile-name-wrap h1, .company-hero h1, .course-title,
  .signal-product-copy h1, .desk-hero h1, .guide-hero h1 { font-size: clamp(3rem, 11vw, 4.25rem); }
  .guide-module-header h2 { font-size: 2.5rem; }
  .guide-module { margin-right: 0; }
  .footer-inner { align-items: start; }
  .course-phase-board, .release-timeline { grid-template-columns: 1fr; }
  .course-phase h3 { font-size: 2rem; }
  .rn-career-strip > div { padding-inline: 0.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
/* Full navigation collapses before its labels crowd the brand. */
@media(max-width:1250px){.desktop-nav{display:none!important}.menu-toggle{display:flex!important}.mobile-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}}
.rn-creative-tools{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.5rem}.workspace-create{padding-top:7rem;padding-bottom:2rem}@media(max-width:620px){.rn-creative-tools{grid-template-columns:1fr}}
@media(min-width:821px) and (max-width:1250px){.menu-toggle{position:relative;z-index:102;width:2.8rem;height:2.8rem;border:0;background:transparent;color:inherit;cursor:pointer}.menu-toggle span{position:absolute;left:.5rem;width:1.7rem;height:2px;background:currentColor}.menu-toggle span:first-child{top:1.1rem}.menu-toggle span:last-child{top:1.65rem}.menu-toggle[aria-expanded=true] span:first-child{top:1.4rem;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{top:1.4rem;transform:rotate(-45deg)}.mobile-nav{position:fixed;z-index:101;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:6.5rem var(--page-gutter) 2rem;background:var(--ink);color:var(--cream);visibility:hidden;opacity:0;pointer-events:none;height:100dvh;overflow-y:auto}.mobile-nav-links{display:flex;flex-direction:column}.mobile-nav-links a{display:flex;gap:1rem;font-size:2rem;padding:.5rem}.mobile-nav-links span{font-size:.8rem;align-self:center}}
.workspace-create .rn-tool{background:#151515;color:#f4f0e6}.workspace-create .rn-tool h3{color:#f4f0e6}
.workspace-create{color:var(--cream)}

/* Static phases stay visible; a stopped marquee must never hide steps. */
.course-loop{overflow:visible}.course-phase-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin-block:0;padding-block:1.5rem;gap:1rem}.course-phase-sequence li{display:flex;align-items:center;gap:1rem;font-family:var(--display);font-size:clamp(1.4rem,2.6vw,2.5rem);text-transform:uppercase}.course-phase-sequence span{font-family:var(--sans);font-size:.875rem}
.workspace-create{padding-block:3rem}.course-primary-link,.skip-link{color:var(--ink)}.access-label{color:#a62b20;font-size:.875rem}.curriculum-row:hover{padding-inline:0;color:var(--ink)}.curriculum-row:hover>strong{color:var(--ink)}
@media(max-width:1100px){.course-breakout-grid,.faq-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem}.course-breakout-grid>* ,.faq-layout>*{min-width:0}.curriculum-row{grid-template-columns:2.8rem minmax(0,1fr);gap:1rem;padding-block:1.25rem}.curriculum-row p,.curriculum-row>strong{grid-column:2;justify-self:start;text-align:left}}
@media(max-width:620px){.course-phase-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.course-phase-sequence li{font-size:1.75rem}}
@media(max-width:560px){.curriculum-row{grid-template-columns:2rem minmax(0,1fr)}}
@media(max-width:360px){.course-phase-sequence{grid-template-columns:minmax(0,1fr)}}
.curriculum-row h3{overflow-wrap:anywhere}

@media(min-width:621px) and (max-width:1000px){.rn-creative-tools{grid-template-columns:1fr}}

@media(max-width:560px){.course-distribution,.company-close-grid,.curriculum-head{grid-template-columns:minmax(0,1fr)}.course-distribution-copy,.company-close-grid>*,.company-contact-card,.curriculum-head>*{min-width:0}.company-contact-card a{max-width:100%;overflow-wrap:anywhere}.artist-release-row>strong,.course-distribution-copy .display-heading,.curriculum-head .display-heading{overflow-wrap:anywhere}}

@media(max-width:360px){.mobile-nav-links a{font-size:2rem}.course-title-red{font-size:.9em}.course-faq .display-heading{font-size:clamp(2.2rem,11vw,3rem)}}

@media(max-width:360px){.company-close h2,.artist-profile-contact h2{font-size:2.7rem}}

.guide-note{overflow-wrap:anywhere}@media(max-width:620px){.guide-module h2{font-size:clamp(1.65rem,7.5vw,2.75rem);overflow-wrap:anywhere}.guide-reference>header h2{font-size:clamp(2rem,9vw,3.5rem)}.guide-finish h2{font-size:clamp(3rem,14vw,5rem)}}

/* Grid tracks must shrink with the viewport when visitors enlarge their text. */
.guide-page{overflow-wrap:anywhere}
.release-desk-page{overflow-wrap:anywhere}
.signal-page{overflow-wrap:anywhere}
.signal-product-grid>*,.signal-lab-heading>*,.signal-workflow-head>*,.signal-method-head>*,.signal-method-grid>*,.lab-shell>*,.lab-target-grid>*,.lab-metric-definitions>*{min-width:0}
.lab-field input,.lab-field select,.lab-target-grid input,.lab-variant-row input{min-width:0;max-width:100%}
@media(max-width:1120px){.signal-product-grid,.lab-shell{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.signal-lab-heading,.signal-workflow-head,.signal-method-head,.signal-method-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.lab-topbar,.lab-target-grid,.lab-metric-definitions{grid-template-columns:minmax(0,1fr)}.lab-step-label{flex-wrap:wrap}}
.desk-hero-grid>*,.desk-shell>*,.desk-heading>*,.desk-system-head>*,.desk-system-grid>*,.desk-command-grid>*{min-width:0}
.desk-field input,.desk-field select{min-width:0;max-width:100%}
.desk-step-label{grid-template-columns:2.5rem minmax(0,1fr)}
@media(max-width:1050px){.desk-hero-grid,.desk-shell{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.desk-heading,.desk-system-head,.desk-system-grid,.desk-command-grid{grid-template-columns:minmax(0,1fr)}}
.guide-hero-grid>*,.guide-start-head>*,.guide-routes>*,.guide-evidence>*,.guide-source-groups>*{min-width:0}
.guide-hero h1,.guide-routes a,.guide-sheet summary strong,.guide-finish h2{overflow-wrap:anywhere}
.guide-progress-head{flex-wrap:wrap}
@media(max-width:1050px){.guide-hero-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.guide-start-head,.guide-evidence,.guide-first-rule,.guide-choice-grid,.guide-rights-grid,.guide-scenario-list,.guide-diagnostic,.guide-glossary,.guide-source-groups,.guide-budget-example,.guide-danger,.guide-equation,.guide-exit,.guide-exit>div{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.guide-routes{grid-template-columns:minmax(0,1fr)}.guide-sheet summary{grid-template-columns:2rem minmax(0,1fr)}.guide-sheet summary strong{min-width:0}.guide-progress-actions{grid-template-columns:minmax(0,1fr);gap:.75rem}.guide-progress-actions>*{min-width:0;max-width:100%;overflow-wrap:anywhere}}
