/* Fixed V6 design language. All authored blocks follow one document-flow column. */
.linear-demo { padding-bottom: 0; }
.linear-demo main { padding-block: var(--space-6) var(--space-7); }
.linear-demo .button--primary { background: var(--color-ink); color: var(--color-paper); }
.linear-demo .site-footer { padding-bottom: var(--space-7); }
.linear-demo [hidden] { display: none; }
.linear-demo :is(button,a,summary,input,video):focus-visible { outline: 3px solid var(--color-ink); outline-offset: 4px; }
.linear-demo .site-header :is(a,button):focus-visible { outline-color: var(--color-signal); }
.demo-review-bar { background: var(--color-quiet); font-size: var(--type-action); }
.demo-review-bar > div { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); padding-block: var(--space-2); }
.demo-review-bar nav { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.demo-review-bar a { display: inline-flex; align-items: center; min-height: 2.75rem; text-decoration: none; }
.demo-review-bar a[aria-current] { font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.demo-review-bar label { display: flex; align-items: center; gap: var(--space-2); min-height: 2.75rem; cursor: pointer; }
.demo-review-bar input { width: 1.2rem; height: 1.2rem; accent-color: var(--color-ink); }
.linear-article,.linear-contact { max-width: 46rem; }
.linear-article { display: block; }
.linear-article > .content-block { display: block; width: 100%; min-width: 0; margin: 0; font-size: var(--type-body); line-height: 1.8; }
.linear-article > .content-block + .content-block { margin-top: var(--space-5); }
.linear-article > .content-block + .block-title { margin-top: var(--space-7); }
.linear-demo .block-title h1 { font-size: var(--type-page-title); line-height: 1.3; margin: 0; text-wrap: pretty; }
.linear-demo .block-title h2 { font-size: var(--type-subheading-strong); line-height: 1.5; margin: 0; }
.linear-demo .block-title h3 { font-size: var(--type-subheading); line-height: 1.5; margin: 0; }
.linear-demo .block-title .unified-title { margin-bottom: 0; }
.title-phrase { display: inline-block; }
.block-paragraph p { margin: 0; }
.linear-article > .block-lead { font-size: var(--type-lead); line-height: 1.65; }
.block-quote blockquote { margin: 0; padding: 0; font-size: var(--type-lead); font-weight: 700; line-height: 1.75; }
.block-quote cite { display: block; margin-top: var(--space-3); font-size: var(--type-body); font-style: normal; }
.linear-demo figure { margin: 0; }
.linear-demo img { display: block; width: 100%; height: auto; border-radius: var(--frame-radius); }
.linear-demo figcaption,.media-instruction,.video-transcript { font-size: var(--type-action); line-height: 1.6; }
.linear-demo figcaption { margin-top: var(--space-3); color: var(--color-muted); }
.linear-article > .block-carousel { padding-right: var(--mat-offset); }
.carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; border-radius: var(--frame-radius); box-shadow: var(--mat); } /* Approved flat yellow V6 backing. */
.carousel-slide { min-width: 0; scroll-snap-align: start; }
.carousel-slide img { aspect-ratio: 4 / 3; object-fit: cover; }
.carousel-slide figcaption { min-height: 3.5rem; padding: var(--space-3) var(--space-4); margin: 0; background: var(--color-paper); }
.media-controls { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-5); }
.media-controls > div,.viewer-controls > div { display: flex; gap: var(--space-2); }
.linear-demo .media-controls button,.linear-demo .viewer-controls button,.viewer-close { min-height: 2.75rem; min-width: 3.5rem; padding: var(--space-2) var(--space-4); background: var(--color-ink); color: var(--color-paper); border: 0; border-radius: var(--frame-radius); font: inherit; cursor: pointer; }
.media-controls button:disabled,.viewer-controls button:disabled { opacity: .4; cursor: default; }
.carousel-status { font-variant-numeric: tabular-nums; }
/* Photo thumbnails are one Gallery block's fixed internal presentation. */
.gallery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); }
.gallery-grid a { display: block; }
.gallery-grid img { aspect-ratio: 4 / 3; object-fit: cover; }
.gallery-grid .image-contain { object-fit: contain; background: var(--color-quiet); }
.media-instruction { margin-bottom: var(--space-4); }
.block-video video { width: 100%; height: auto; aspect-ratio: 3 / 2; background: var(--color-ink); border-radius: var(--frame-radius); object-fit: contain; display: block; }
.video-transcript { margin-top: var(--space-4); }
.video-transcript summary { min-height: 2.75rem; cursor: pointer; font-weight: 700; }
.video-transcript p { margin-top: var(--space-3); }
.linear-article > .block-facts { background: var(--color-quiet); border-radius: var(--frame-radius); padding: var(--space-5); }
.block-facts dl { display: block; }
.block-facts dl > div + div { margin-top: var(--space-5); }
.block-facts dt { font-weight: 700; margin-bottom: var(--space-2); }
.block-facts dd { margin: 0; }
.block-list ul,.block-list ol { display: block; padding-left: var(--space-5); margin: 0; }
.block-list li + li { margin-top: var(--space-5); }
.block-list strong,.block-list li > span { display: block; }
.block-list strong { font-size: var(--type-subheading); line-height: 1.5; margin-bottom: var(--space-2); }
.block-faq .faq-item > summary { font-size: var(--type-subheading); }
.related-grid { display: block; }
.related-grid a { display: block; text-decoration: none; font-weight: 700; background: var(--color-quiet); border-radius: var(--frame-radius); padding: var(--space-4); }
.related-grid a + a { margin-top: var(--space-5); }
.related-grid img { width: 100%; max-height: 16rem; aspect-ratio: 16 / 9; object-fit: cover; }
.related-grid a > span { display: block; margin-top: var(--space-4); }
.linear-contact { display: block; margin-top: var(--space-7); }
.linear-contact p { margin-top: var(--space-4); font-size: var(--type-action); color: var(--color-muted); }
.image-viewer { width: min(calc(100% - 2rem),70rem); max-height: calc(100dvh - 2rem); padding: var(--space-5); background: var(--color-ink); color: var(--color-paper); border: 0; border-radius: var(--frame-radius); margin: auto; }
.image-viewer::backdrop { background: rgb(21 25 27 / .88); }
.image-viewer form { text-align: right; margin-bottom: var(--space-3); }
.image-viewer .viewer-close,.image-viewer .viewer-controls button { color: var(--color-ink); background: var(--color-paper); }
.image-viewer img { width: 100%; max-height: calc(100dvh - 15rem); object-fit: contain; }
.image-viewer figcaption { color: var(--color-paper); }
.viewer-controls { display: flex; align-items: center; justify-content: space-between; margin-top: var(--space-4); gap: var(--space-3); }
.image-viewer :is(button,a):focus-visible { outline-color: var(--color-signal); }
html.viewer-open { overflow: hidden; }
.show-block-labels [data-blocktype]::before { content: attr(data-block-label); display: block; width: fit-content; margin-bottom: var(--space-3); padding: var(--space-1) var(--space-2); font-size: var(--type-action); line-height: 1.5; font-weight: 700; background: var(--color-signal); color: var(--color-ink); border-radius: var(--frame-radius); }
.review-index main { max-width: 64rem; padding-block: var(--space-7); }
.review-intro { max-width: 46rem; margin-bottom: var(--space-7); }
.linear-demo.review-index h1 { font-size: var(--type-page-title); line-height: 1.3; }
.review-intro p { margin-top: var(--space-5); font-size: var(--type-lead); }
.review-intro p:last-child { font-size: var(--type-body); }
.comparison-list,.comparison-item { display: block; }
.comparison-item + .comparison-item { margin-top: var(--space-7); }
.comparison-item h2,.block-catalog h2 { font-size: var(--type-section-title); line-height: 1.4; }
.comparison-item p { max-width: 46rem; margin-block: var(--space-5); font-size: var(--type-body); }
.comparison-image { display: block; margin-top: var(--space-5); background: var(--color-quiet); border-radius: var(--frame-radius); }
.comparison-item .button { margin-top: var(--space-5); }
.block-catalog { max-width: 46rem; margin-top: var(--space-8); }
.block-catalog dl { display: block; margin-top: var(--space-6); }
.block-catalog dl > div + div { margin-top: var(--space-5); }
.block-catalog dt { font-size: var(--type-subheading); font-weight: 700; }
.block-catalog dd { margin: var(--space-2) 0 0; font-size: var(--type-body); }
.block-catalog > p { margin-top: var(--space-6); }
.review-notes { max-width: 46rem; margin-top: var(--space-7); }
.review-notes h2 { font-size: var(--type-subheading); }
.review-notes p { margin-top: var(--space-4); }
@media(max-width:47.99rem) {
  .linear-demo main { padding-top: var(--space-5); }
  .demo-review-bar > div { gap: var(--space-2); }
  .demo-review-bar > div > a { display: none; }
  .demo-review-bar nav { gap: var(--space-4); }
  .demo-review-bar label { width: 100%; }
  .linear-article > .content-block + .content-block { margin-top: var(--space-4); }
  .linear-article > .content-block + .block-title { margin-top: var(--space-6); }
  .linear-article > .block-facts { padding: var(--space-4); }
  .gallery-grid { gap: var(--space-4); }
  [data-composition="service"] h1 .title-phrase { display: block; }
  [data-composition="service"] h1 .title-separator { display: none; }
  .linear-contact .button { width: 100%; }
  .image-viewer { padding: var(--space-4); }
  .image-viewer img { max-height: calc(100dvh - 16rem); }
  .block-catalog,.review-notes { margin-top: var(--space-7); }
}
@media(max-width:23rem) {
  [data-composition="workshop"] h1 .title-phrase { display: block; }
  [data-composition="workshop"] h1 .title-separator { display: none; }
}

/* Single-image Gallery keeps the approved poster size and yellow backing. */
.block-gallery[data-gallery-presentation="poster"] .media-instruction { display: none; }
.block-gallery[data-gallery-presentation="poster"] .gallery-grid { display: block; max-width: 34rem; margin-inline: auto; padding-right: var(--mat-offset); padding-bottom: var(--mat-offset); }
.block-gallery[data-gallery-presentation="poster"] .gallery-grid img { aspect-ratio: auto; object-fit: contain; background: transparent; box-shadow: var(--mat); }
.block-gallery[data-gallery-presentation="poster"] figcaption:empty { display: none; }
/* Return navigation belongs to the fixed article template, not author blocks. */
.linear-article > .article-navigation { display: block; width: 100%; margin-top: var(--space-5); font-size: var(--type-body); line-height: 1.8; }
.article-navigation .button { min-height: 2.75rem; }
@media (max-width: 47.99rem) {
  .linear-article > .article-navigation { margin-top: var(--space-4); }
  .article-navigation .button { width: 100%; }
}
