/*
 * Site-wide editorial alignment layer, 24 September 2026.
 * The home Hero is deliberately excluded. Remove this stylesheet link to
 * return each page to its previous visual system.
 */

:root {
  --content-max: 1540px;
  --page-accent: var(--accent);
  --page-pale: #f7f6f3;
  --page-strong: var(--ink);
  --page-section-space: clamp(88px, 9vw, 142px);
}

body[data-stand-category="laptop"],
.product-page[data-product-category="laptop"] {
  --page-accent: #8a6745;
  --page-pale: #f4efe7;
  --page-strong: #5f4934;
}

body[data-stand-category="music"],
.product-page[data-product-category="music"] {
  --page-accent: #ad4b35;
  --page-pale: #f7eeea;
  --page-strong: #783c2e;
}

.eurorack-page:not([data-stand-category]),
.product-page[data-product-category="eurorack"] {
  --page-accent: #46534e;
  --page-pale: #eef1ef;
  --page-strong: #303a36;
}

.about-page {
  --page-accent: #8a6745;
  --page-pale: #f4efe7;
  --page-strong: #5f4934;
}

.trees-page {
  --page-accent: var(--tree-dark);
  --page-pale: var(--tree-pale);
  --page-strong: var(--tree-dark);
}

.contact-page {
  --page-accent: #6f5237;
  --page-pale: #f4efe7;
  --page-strong: #4f3e2e;
}

/* One restrained accent language across secondary pages. */
.eurorack-page .eyebrow,
.product-page .eyebrow,
.about-page .eyebrow,
.contact-page .eyebrow { color: var(--page-accent); }

.eurorack-page .button:hover,
.product-page .button:hover,
.about-page .button:hover,
.contact-page .button:hover { background: var(--page-accent); }

.eurorack-page a:focus-visible,
.eurorack-page button:focus-visible,
.product-page a:focus-visible,
.product-page button:focus-visible,
.about-page a:focus-visible,
.about-page button:focus-visible,
.contact-page a:focus-visible,
.contact-page button:focus-visible { outline-color: var(--page-accent); }

/* Product-line and About openings now share one scale and one rhythm. */
.eurorack-page .system-hero,
.about-page .about-hero {
  grid-template-columns: minmax(300px, .92fr) minmax(0, 1.08fr);
  gap: clamp(40px, 6vw, 96px);
  min-height: clamp(650px, calc(100vh - 118px), 820px);
  padding: clamp(72px, 8vw, 122px) var(--pad);
  border-bottom: 1px solid var(--line);
}

.eurorack-page .system-hero h1,
.about-page .about-hero h1 {
  max-width: 820px;
  margin-bottom: 28px;
  font-size: clamp(54px, 5.25vw, 80px);
  line-height: .96;
  letter-spacing: -.055em;
}

.eurorack-page .system-hero p,
.about-page .about-hero p:last-child {
  max-width: 620px;
  color: var(--muted);
  font-size: clamp(18px, 1.45vw, 23px);
  line-height: 1.58;
}

.eurorack-page .system-hero > img,
.eurorack-page .system-hero > .system-photo,
.about-page .about-hero > img {
  align-self: center;
  min-height: 0;
  background: transparent;
}

.eurorack-page .system-hero > img,
.eurorack-page .system-hero > .system-photo img {
  height: auto;
  max-height: none;
  object-fit: initial;
  padding: 0;
}

.about-page .about-hero > img {
  height: 100%;
  max-height: 660px;
  object-fit: cover;
  background: var(--page-pale);
}

/* Line pages: the same editorial spacing, image frames and hierarchy. */
.eurorack-page .system-intro {
  padding: var(--page-section-space) var(--pad);
  background: var(--page-pale);
}

.eurorack-page .system-intro-copy {
  max-width: 1320px;
  margin-bottom: clamp(54px, 6vw, 86px);
}

.eurorack-page .system-intro-copy h2 {
  font-size: clamp(38px, 4vw, 60px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.eurorack-page .system-sections {
  max-width: var(--content-max);
  padding-top: clamp(34px, 4vw, 62px);
  padding-bottom: clamp(54px, 6vw, 92px);
}

.eurorack-page .system-section { padding: clamp(62px, 7vw, 104px) 0; }
.eurorack-page .system-row { gap: clamp(42px, 7vw, 108px); }
.eurorack-page .system-row h2,
.eurorack-page .system-brochure-section > h2,
.eurorack-page .system-brochure-item h3 {
  font-size: clamp(25px, 2.25vw, 34px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.eurorack-page .system-row p,
.eurorack-page .system-subsection p,
.eurorack-page .system-brochure-section > p,
.eurorack-page .system-brochure-item p {
  color: var(--muted);
  font-size: clamp(17px, 1.3vw, 21px);
  line-height: 1.65;
}

.eurorack-page .system-row .system-photo,
.eurorack-page .system-brochure-gallery,
.eurorack-page .system-brochure-item > img { background: var(--page-pale); }

/* Product photography stays neutral: the image itself, not the category tint,
   determines the colour around contained photographs. */
body[data-stand-category="music"] .system-row .system-photo,
body[data-stand-category="music"] .system-brochure-gallery,
body[data-stand-category="music"] .system-brochure-gallery img,
body[data-stand-category="music"] .system-brochure-item > img {
  background: #fff;
}

.eurorack-page .system-facts div { border-top-color: var(--page-accent); }
.eurorack-page .system-jumps a:hover { color: var(--page-accent); }

.eurorack-page .product-finder {
  padding-top: var(--page-section-space);
  padding-bottom: var(--page-section-space);
  background: var(--page-pale);
  border-top: 0;
}

.eurorack-page .product-finder::before {
  content: "";
  align-self: stretch;
  width: 3px;
  background: var(--page-accent);
  grid-column: 1;
  grid-row: 1;
  margin-right: calc(-1 * clamp(50px, 9vw, 150px));
}

.eurorack-page .product-finder-intro { grid-column: 1; grid-row: 1; padding-left: 26px; }
.eurorack-page .product-finder-control { background: #fff; }
.eurorack-page .product-finder-control select:focus-visible { outline-color: var(--page-accent); }
.eurorack-page .system-models { padding-top: var(--page-section-space); padding-bottom: var(--page-section-space); }

/* Product pages: quieter top scale and clearly separated editorial chapters. */
.product-page .listing-top {
  gap: clamp(42px, 6vw, 92px);
  padding-top: clamp(44px, 5vw, 74px);
  padding-bottom: clamp(60px, 6vw, 96px);
}

.product-page .laptop-info h1 {
  max-width: 760px;
  font-size: clamp(40px, 3.7vw, 58px);
  line-height: 1.02;
}

.product-page .listing-price { color: var(--page-strong); }
.product-page .listing-variants a[aria-current="page"] { background: var(--page-strong); border-color: var(--page-strong); }
.product-page .listing-parameters { max-width: var(--content-max); padding-top: clamp(62px, 7vw, 96px); padding-bottom: clamp(62px, 7vw, 96px); background: var(--page-pale); }
.product-page .listing-parameters > h2,
.product-page .listing-section-title { font-size: clamp(30px, 3vw, 44px); font-weight: 500; }

.product-page .listing-description {
  --story-text-size: clamp(17px, 1.25vw, 20px);
  max-width: var(--content-max);
  padding-top: clamp(68px, 7vw, 108px);
  padding-right: 0;
  padding-bottom: clamp(72px, 8vw, 120px);
  padding-left: 0;
}

.product-page .listing-description > .listing-section-title {
  padding: 0 var(--pad) clamp(34px, 4vw, 58px);
  border-bottom: 1px solid var(--line);
}

.product-page .listing-story-row {
  gap: clamp(42px, 6vw, 92px);
  padding: clamp(62px, 7vw, 104px) var(--pad);
  border-top: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.product-page .listing-story-row + .listing-story-row { border-top: 0; }
.product-page .listing-story-row:nth-of-type(odd),
.product-page .listing-story-row:nth-of-type(even),
.product-page .listing-story-row.listing-intro { background: #fff; }
.product-page .listing-story-row.listing-specification { background: var(--page-pale); }
.product-page .listing-story-copy h2,
.product-page .listing-story-copy h3 {
  font-size: clamp(24px, 2.1vw, 32px);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -.025em;
}
.product-page .listing-story-copy p { color: var(--muted); font-size: var(--story-text-size); line-height: 1.68; }
.product-page .listing-intro .listing-product-heading { font-size: clamp(32px, 3.1vw, 46px); line-height: 1.04; }
.product-page .listing-intro .listing-product-purpose { color: var(--page-strong); }
.product-page .listing-warning { border-left-color: var(--page-accent); }
.product-page .related-section { padding-top: var(--page-section-space); padding-bottom: var(--page-section-space); }

/* About now follows the same roomy article rhythm as the product lines. */
.about-page .about-story { padding: var(--page-section-space) var(--pad); background: var(--page-pale); }
.about-page .about-story-inner { max-width: 1080px; }
.about-page .about-story p,
.about-page .about-process p { color: var(--muted); font-size: clamp(18px, 1.4vw, 22px); line-height: 1.68; }
.about-page .about-process { max-width: var(--content-max); padding: var(--page-section-space) var(--pad); }
.about-page .about-process > h2,
.about-page .about-gallery > h2 {
  margin-bottom: clamp(46px, 5vw, 76px);
  font-size: clamp(42px, 4.6vw, 70px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}
.about-page .about-stage { gap: clamp(42px, 7vw, 108px); padding: clamp(62px, 7vw, 104px) 0; }
.about-page .about-stage h3 { font-size: clamp(25px, 2.25vw, 34px); font-weight: 500; line-height: 1.15; letter-spacing: -.025em; }
.about-page .about-stage img { background: var(--page-pale); }
.about-page .about-gallery { padding-top: var(--page-section-space); padding-bottom: var(--page-section-space); background: var(--page-pale); }
.about-page .about-gallery-grid { gap: 18px; }
.about-page .about-closing { padding-top: var(--page-section-space); padding-bottom: var(--page-section-space); }

/* The catalogue carries the three family accents without colouring body copy. */
.catalog-page .catalog-systems .product-card:nth-child(1) { --card-accent: #8a6745; }
.catalog-page .catalog-systems .product-card:nth-child(2) { --card-accent: #ad4b35; }
.catalog-page .catalog-systems .product-card:nth-child(3) { --card-accent: #46534e; }
.catalog-page .catalog-systems .product-card .eyebrow { color: var(--card-accent); }
.catalog-page .catalog-systems .product-card:hover { border-color: var(--card-accent); }
.catalog-page .catalog-card[data-category="laptop"] { --card-accent: #8a6745; }
.catalog-page .catalog-card[data-category="music"] { --card-accent: #ad4b35; }
.catalog-page .catalog-card[data-category="eurorack"] { --card-accent: #46534e; }
.catalog-page .catalog-grid .catalog-card .eyebrow { color: var(--card-accent); }
.catalog-page .catalog-grid .catalog-card:hover { border-color: var(--card-accent); }

/* One scroll reveal: no zooming of entire sections. */
@media (prefers-reduced-motion: no-preference) {
  .eurorack-page .system-section,
  .about-page .about-stage,
  .product-page .listing-story-row {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 620ms var(--ease), transform 620ms var(--ease);
  }

  .eurorack-page .system-section.is-in-view,
  .about-page .about-stage.is-in-view,
  .product-page .listing-story-row.is-in-view {
    opacity: 1;
    transform: none;
  }

  .trees-page [data-reveal] {
    opacity: 0;
    translate: 0 18px;
    transition: opacity 620ms var(--ease), translate 620ms var(--ease);
  }
  .trees-page [data-reveal].is-visible { opacity: 1; translate: 0 0; }
}

@media (max-width: 991px) {
  .eurorack-page .system-hero,
  .about-page .about-hero { grid-template-columns: 1fr; min-height: 0; }
  .eurorack-page .system-hero > img,
  .eurorack-page .system-hero > .system-photo img,
  .about-page .about-hero > img { min-height: 480px; max-height: 680px; }
  .eurorack-page .product-finder::before { display: none; }
  .eurorack-page .product-finder-intro { grid-column: auto; grid-row: auto; padding-left: 0; border-left: 3px solid var(--page-accent); padding-inline-start: 24px; }
}

@media (max-width: 700px) {
  .eurorack-page .system-hero,
  .about-page .about-hero { gap: 38px; padding-top: 72px; padding-bottom: 72px; }
  .eurorack-page .system-hero h1,
  .about-page .about-hero h1 { font-size: 52px; }
  .eurorack-page .system-hero > img,
  .eurorack-page .system-hero > .system-photo img,
  .about-page .about-hero > img { min-height: 0; height: auto; }
  .eurorack-page .system-section { padding: 58px 0; }
  .product-page .listing-story-row,
  .product-page .listing-story-row.image-first { padding: 42px 20px; }
  .product-page .listing-story-row + .listing-story-row { border-top-width: 0; }
  .product-page .laptop-info h1 { font-size: 40px; }
  .about-page .about-stage { padding: 58px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .eurorack-page .system-section,
  .about-page .about-stage,
  .product-page .listing-story-row,
  .trees-page [data-reveal] { opacity: 1; transform: none; translate: none; }
}
