/* PodMic XLR / Paperus editorial product study.
   The shared stylesheet and enquiry handler remain unchanged. The gallery is
   native HTML: named full-image links and keyboard-operable details elements.
   Existing product photography only; no scroll interception or hidden reveals. */

.xlr-editorial {
  --bg: #17191d;
  --surface: #1c1f24;
  --raised: #23262d;
  --ink: #f3f3ee;
  --ink-2: #b5b9c2;
  --ink-3: #9da3af;
  --line: #3b3f48;
  --line-strong: #656b78;
  --accent: #0066ff;
  --accent-text: #a6b6ff;
  --rule: var(--accent-text);
  --xlr-space: clamp(4.5rem, 8vw, 8rem);
}
[data-theme="light"] .xlr-editorial {
  --bg: #fafaf7;
  --surface: #f3f3ed;
  --raised: #eaece5;
  --ink: #17191d;
  --ink-2: #525863;
  --ink-3: #656a73;
  --line: #d1d4cc;
  --line-strong: #91978e;
  --accent-text: #244fc4;
}
.xlr-editorial .shell--wide { max-inline-size: 92rem; }
.xlr-editorial main > .section { padding-block: var(--xlr-space); }
.xlr-editorial main em {
  font-family: "Instrument Serif", Georgia, serif;
  font-weight: 400;
  letter-spacing: -.035em;
}
.xlr-editorial main h2 { font-size: clamp(2.75rem, 4.8vw, 5rem); line-height: 1.04; font-weight: 500; letter-spacing: -.055em; }
.xlr-editorial main h2 em { font-size: 1.1em; }
.xlr-editorial main h3 { font-weight: 500; }
.xlr-editorial main .section__head::after { content: none; }
.xlr-editorial .reveal, .xlr-editorial .rise > span, .xlr-editorial .specs tbody tr, .xlr-editorial .footer__mark { animation: none; opacity: 1; translate: none; transform: none; }
.xlr-editorial main .btn { min-block-size: 3.5rem; padding: 1rem 1.35rem; border-radius: 0; font-size: .875rem; gap: 1.75rem; font-weight: 600; }
.xlr-kicker { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; font-size: .75rem; line-height: 1.7; letter-spacing: .13em; text-transform: uppercase; font-weight: 600; }
.xlr-kicker > span { font-size: .9rem; letter-spacing: .1em; }
.xlr-text-link { display: flex; justify-content: space-between; align-items: center; gap: 1rem; inline-size: fit-content; min-block-size: 2.75rem; padding-block: .65rem; border-block-end: 1px solid currentColor; font-size: .8125rem; text-decoration: none; color: inherit; }
.xlr-text-link span { margin-inline-start: 2rem; font-size: .75rem; }
.xlr-paper {
  --bg: #eeeee7;
  --surface: #eeeee7;
  --raised: #e1e3da;
  --ink: #1b1d20;
  --ink-2: #555c63;
  --ink-3: #5d636b;
  --line: #c6cbc0;
  --line-strong: #8e9688;
  --accent-text: #244fc4;
  --warm-text: #a53b16;
  background: var(--bg);
  color: var(--ink);
  color-scheme: light;
}
.xlr-section-head { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); column-gap: clamp(2rem,5vw,6rem); row-gap: 1.65rem; align-items: end; margin-block-end: 3.5rem; }
.xlr-section-head > .xlr-kicker { grid-column: 1 / -1; color: var(--ink-2); }
.xlr-section-head > p:last-child { max-inline-size: 36ch; color: var(--ink-2); font-size: 1rem; line-height: 1.75; margin-block-end: .15rem; }

/* Cover: a quiet type-led left leaf and a full-height product portrait. */
.xlr-cover { --bg: #15171b; --ink: #f4f3ed; --ink-2: #bdc0c7; --line: #3b3e45; --accent-text: #a6b6ff; background: #15171b; color: #f4f3ed; }
.xlr-cover__layout { display: grid; grid-template-columns: minmax(0,.96fr) minmax(0,1.04fr); gap: clamp(2rem,5vw,6rem); align-items: stretch; }
.xlr-cover__copy { display: flex; flex-direction: column; align-items: flex-start; padding-block: clamp(3.5rem,5vw,5.5rem) 1.5rem; }
.xlr-cover .xlr-kicker { color: #b7bbc3; font-size: .75rem; gap: 1.5rem; }
.xlr-cover .xlr-kicker > span { color: #fff; }
.xlr-cover h1 { margin: 2.25rem 0 1.5rem; font-size: clamp(5rem,7.4vw,7rem); line-height: .93; letter-spacing: -.065em; font-weight: 500; }
.xlr-cover h1 em { display: inline-block; margin-block-start: .08em; color: #a6b6ff; font-size: 1.16em; line-height: .9; }
.xlr-cover__line { margin-block: .75rem 1rem; font-size: clamp(1.35rem,2vw,1.8rem); line-height: 1.4; letter-spacing: -.025em; }
.xlr-cover__description { color: #b7bbc3; font-size: .9375rem; line-height: 1.75; margin-block-end: 1.65rem; }
.xlr-editorial .xlr-cover .btn { background: #0066ff; border-color: #0066ff; color: #fff; }
.xlr-editorial .xlr-cover .btn:hover { background: #fff; border-color: #fff; color: #15171b; }
.xlr-cover__quote { margin-block-start: .85rem; font-size: .75rem; color: #b7bbc3; }
.xlr-cover__edition { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem 2rem; inline-size: 100%; padding-block-start: 3rem; margin-block-start: auto; }
.xlr-cover__edition > span { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: #abb0b9; }
.xlr-cover__edition a { display: inline-flex; align-items: center; gap: 1.25rem; min-block-size: 2.75rem; color: #eff0f3; font-size: .75rem; text-decoration: none; }
.xlr-cover__portrait { min-block-size: 43rem; margin: 0; padding: 1.6rem clamp(1.25rem,2.4vw,2.4rem); display: grid; grid-template-rows: auto minmax(0,1fr) auto; background: #dedfd6; color: #242823; }
.xlr-cover__plate { display: flex; justify-content: space-between; gap: 1rem; font-size: .75rem; line-height: 1.5; text-transform: uppercase; letter-spacing: .13em; }
.xlr-cover__portrait > a { display: flex; align-items: center; justify-content: center; min-block-size: 0; padding-block: 1.75rem; }
.xlr-cover__portrait img { inline-size: auto; max-inline-size: 80%; max-block-size: 34rem; object-fit: contain; }
.xlr-cover__portrait figcaption { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding-block-start: 1.15rem; border-block-start: 1px solid #a9b0a1; font-size: .75rem; line-height: 1.6; }
.xlr-cover__portrait figcaption > span:last-child { display: flex; align-items: center; gap: 1.5rem; white-space: nowrap; }
.xlr-cover__portrait figcaption b { font-size: 1.5rem; font-weight: 400; }
.xlr-page-nav { display: flex; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; padding-block: .8rem; margin-block-start: 1.5rem; border-block-start: 1px solid #3b3e45; }
.xlr-page-nav a { display: flex; align-items: center; gap: .75rem; min-block-size: 2.75rem; color: #a9aeb9; font-size: .75rem; text-decoration: none; }
.xlr-page-nav a span { color: #eeeef0; font-size: .75rem; }
.xlr-page-nav a:hover span { color: #b7c3ff; }

/* The rear connector is shown as a product detail, not a generic feature card. */
.xlr-connection { background: var(--bg); }
.xlr-connection .xlr-section-head h2 em { color: var(--accent-text); }
.xlr-connection__layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(2rem,6vw,7rem); align-items: center; }
.xlr-output { margin: 0; background: #dfe1d8; color: #272b28; }
.xlr-output > a { display: block; overflow: hidden; }
.xlr-output img { inline-size: 100%; }
.xlr-output figcaption { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-inline: 1.5rem; padding-block: 1rem 1.25rem; border-block-start: 1px solid #b2b8a9; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.xlr-connection__notes > div { display: grid; grid-template-columns: 2rem minmax(0,1fr); column-gap: 1rem; padding-block: 1.55rem; border-block-start: 1px solid var(--line); }
.xlr-note-number { color: var(--accent-text); font-size: .75rem; padding-block-start: .25rem; }
.xlr-connection__notes h3 { font-size: clamp(1.2rem,1.8vw,1.6rem); line-height: 1.3; margin-block-end: .7rem; }
.xlr-connection__notes p { grid-column: 2; max-inline-size: 40ch; color: var(--ink-2); font-size: .9375rem; line-height: 1.75; }
.xlr-connection__notes .xlr-text-link { margin-block-start: 1rem; }

/* Two finish portraits with native, accessible details for the complete set. */
.xlr-finish-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1rem,2.5vw,2.5rem); align-items: start; }
.xlr-finish { min-inline-size: 0; }
.xlr-finish__portrait { margin: 0; background: #e0e2d9; color: #1e2421; }
.xlr-finish--white .xlr-finish__portrait { background: #24272e; color: #f0f0ed; }
.xlr-finish__portrait > a[data-product-open] { display: block; overflow: hidden; }
.xlr-finish__portrait > a[data-product-open] img { inline-size: 112%; max-inline-size: none; margin-inline: -6%; }
.xlr-finish__portrait figcaption { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding: 0 clamp(1.25rem,2.5vw,2.5rem) 2rem; }
.xlr-finish__portrait h3 { font-size: clamp(2.25rem,4vw,3.6rem); line-height: 1; letter-spacing: -.055em; }
.xlr-finish__portrait figcaption > span { display: flex; align-items: center; gap: 1.5rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.xlr-finish__portrait figcaption > span span { font-size: 1.5rem; }
.xlr-angle-details { border-block-end: 1px solid #bfc6b7; margin-block-start: .5rem; }
.xlr-angle-details summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.2rem; min-block-size: 3.5rem; font-size: .8125rem; font-weight: 600; cursor: pointer; list-style: none; }
.xlr-angle-details summary::-webkit-details-marker { display: none; }
.xlr-details-sign { font-size: 1.5rem; line-height: 1; font-weight: 400; }
.xlr-angle-details[open] .xlr-details-sign { transform: rotate(45deg); }
.xlr-angle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem .65rem; padding-block: .5rem 1.5rem; }
.xlr-angle-grid figure { min-inline-size: 0; margin: 0; }
.xlr-angle-grid figure a { display: block; background: #e0e2d9; }
.xlr-finish--white .xlr-angle-grid figure a { background: #24272e; }
.xlr-angle-grid img { inline-size: 100%; }
.xlr-angle-grid figcaption { font-size: .75rem; line-height: 1.5; padding-block-start: .45rem; color: #50594e; }
.xlr-angle-grid figcaption > span { margin-inline-end: .45rem; font-variant-numeric: tabular-nums; color: #292f28; }
.xlr-gallery-note { margin-block-start: 1.5rem; color: var(--ink-2); font-size: .75rem; }
.xlr-editorial :is(summary,a[data-product-open]):focus-visible { outline: 3px solid #467aff; outline-offset: 5px; }

/* A single, large cutaway followed by a readable parts index. */
.xlr-cutaway { --ink: #f0f1ed; --ink-2: #babdc5; --line: #3b3e47; --accent-text: #a6b6ff; background: #15171b; color: var(--ink); }
.xlr-cutaway__figure { margin: 0; background: #000; }
.xlr-cutaway__figure > a { display: block; }
.xlr-cutaway__figure img { inline-size: 100%; max-inline-size: 78rem; margin-inline: auto; }
.xlr-cutaway__figure figcaption { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem 2rem; padding: .9rem 1.5rem; border-block-start: 1px solid #33363c; color: #c3c7ce; font-size: .75rem; letter-spacing: .04em; }
.xlr-cutaway__figure figcaption a { display: inline-flex; align-items: center; gap: 1.5rem; min-block-size: 2.75rem; color: #f2f3f0; text-decoration: none; }
.xlr-parts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: clamp(1.5rem,3vw,4rem); list-style: none; margin: 3rem 0 0; padding: 0; }
.xlr-parts li { display: grid; grid-template-columns: 1.75rem minmax(0,1fr); gap: .5rem; padding-block: 1.65rem; border-block-start: 1px solid #3b3e47; }
.xlr-parts li > span { color: #a6b6ff; font-size: .75rem; line-height: 1.8; }
.xlr-parts h3 { font-size: 1.0625rem; line-height: 1.3; margin-block-end: .65rem; }
.xlr-parts p { color: #b5bac4; font-size: .8125rem; line-height: 1.7; }

/* Exact technical values, grouped rather than buried in marketing cards. */
.xlr-editorial #specifications .spec-intro { position: static; align-content: start; gap: 1.5rem; }
.xlr-editorial #specifications .spec-intro h2 { max-inline-size: 14ch; }
.xlr-editorial #specifications .spec-intro .lede { margin-block-start: .5rem; max-inline-size: 33ch; font-size: .9375rem; line-height: 1.75; color: var(--ink-2); }
.xlr-editorial #specifications .spec-groups { gap: 2.5rem; }
.xlr-editorial #specifications .specs caption { color: #244fc4; font-size: .75rem; letter-spacing: .1em; font-weight: 600; }
.xlr-editorial #specifications .specs :is(th,td) { padding-block: 1rem; }
.xlr-editorial #specifications .specs th { font-size: .8125rem; }
.xlr-editorial #specifications .specs td { font-size: 1rem; font-weight: 500; }
.xlr-compare { background: var(--bg); }
.xlr-compare .section__head { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); column-gap: clamp(2rem,5vw,6rem); row-gap: 1.65rem; align-items: end; margin-block-end: 3.5rem; }
.xlr-compare .section__head > .xlr-kicker { grid-column: 1 / -1; color: var(--ink-2); }
.xlr-compare .section__head h2 { max-inline-size: none; }
.xlr-compare .section__head .lede { margin: 0; max-inline-size: 42ch; font-size: .875rem; line-height: 1.75; color: var(--ink-2); }
.xlr-compare .specs--compare :is(th,td) { padding-block: 1.2rem; }
.xlr-compare .specs--compare thead th { font-size: .8125rem; }
.xlr-compare .specs--compare td { font-size: .9375rem; font-weight: 500; }
.xlr-compare__sources { margin-block-start: 1.5rem; color: var(--ink-2); font-size: .75rem; line-height: 1.8; }
.xlr-compare .compare__go { margin-block-start: 1.5rem; }
.xlr-compare .compare__go a { display: inline-flex; align-items: center; min-block-size: 2.75rem; font-size: .875rem; }

/* Supporting questions stay subordinate to the product and enquiry. */
.xlr-editorial main > .xlr-faq { padding-block: 4rem; border-block-start: 1px solid var(--line); }
.xlr-faq__layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1fr); gap: 3rem; }
.xlr-faq h2 { margin-block-start: 1.5rem; font-size: clamp(2.25rem,3.5vw,3.5rem); }
.xlr-faq details { border-block-start: 1px solid var(--line); padding-block: .35rem; }
.xlr-faq details:last-child { border-block-end: 1px solid var(--line); }
.xlr-faq summary { padding-block: 1.1rem; padding-inline-end: .5rem; font-size: 1rem; cursor: pointer; }
.xlr-faq details p { padding-block: .15rem 1.25rem; max-inline-size: 55ch; color: var(--ink-2); font-size: .875rem; line-height: 1.75; }

/* A paper finish for the quote. Required/optional labels match the controls. */
.xlr-enquire .section__head { align-content: start; gap: 1.5rem; margin: 0; }
.xlr-enquire .section__head h2 { font-size: clamp(3.5rem,5.5vw,5.5rem); }
.xlr-enquire .section__head .lede { max-inline-size: 32ch; color: #555c63; font-size: 1rem; line-height: 1.75; margin: .5rem 0 0; }
.xlr-enquire .price-note { max-inline-size: 36ch; color: #555c63; font-size: .875rem; line-height: 1.75; margin: 0; }
.xlr-enquire .price-note b { color: #202520; }
.xlr-enquire__product { inline-size: 100%; max-inline-size: 23rem; display: flex; justify-content: space-between; gap: 1rem; border-block-start: 1px solid #c6cbc0; padding-block-start: 1.25rem; margin-block-start: 1.5rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: #555c63; }
.xlr-enquire .enquiry__panel { min-inline-size: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.xlr-enquire .field-grid { gap: 1.5rem 1.25rem; }
.xlr-enquire .field label { color: #333b32; font-size: .75rem; letter-spacing: .06em; }
.xlr-enquire .field :is(input,textarea,select) { background: transparent; color: #1b1d20; border-radius: 0; border-color: #8e9688; }
.xlr-enquire .field-help { font-size: .75rem; line-height: 1.65; color: #50584e; }
.xlr-enquire .field-help a { color: #244fc4; }
.xlr-enquire .field--consent .consent { line-height: 1.65; }
.xlr-enquire .field--consent input { accent-color: #0066ff; }
.xlr-enquire .btn { background: #0066ff; border-color: #0066ff; color: #fff; }
.xlr-enquire .btn:hover { background: #1b1d20; border-color: #1b1d20; color: #fff; }
.xlr-enquire .btn::before { background: #1b1d20; }
.xlr-editorial .dock { --ink: #f4f4ef; --ink-2: #b8bcc5; --bg: #15171b; --line: #4b505b; color: #f4f4ef; background: #15171b; }
.xlr-editorial .dock .btn { background: #0066ff; color: #fff; border-radius: 0; }

@media (max-width: 69.99rem) {
  .xlr-cover__layout { gap: 2rem; }
  .xlr-cover__portrait { min-block-size: 41rem; }
  .xlr-cover h1 { font-size: clamp(4.5rem,8vw,6rem); }
  .xlr-cover__copy { padding-block-start: 3rem; }
  .xlr-cover__edition { flex-direction: column; align-items: start; gap: .3rem; padding-block-start: 2.25rem; }
  .xlr-cover__portrait figcaption { font-size: .75rem; }
  .xlr-page-nav { gap: .5rem 1rem; }
  .xlr-page-nav a { gap: .5rem; }
  .xlr-page-nav a span { font-size: .75rem; }
}
@media (max-width: 61.99rem) {
  .xlr-cover__layout { grid-template-columns: 1fr; gap: 2rem; }
  .xlr-cover__copy { padding-block: 3.5rem 0; }
  .xlr-cover h1 { font-size: clamp(4.75rem,11vw,7rem); margin-block: 2rem 1rem; }
  .xlr-cover h1 br { display: none; }
  .xlr-cover h1 em { margin-block-start: 0; margin-inline-start: .15em; }
  .xlr-cover__description br { display: none; }
  .xlr-cover__description { max-inline-size: 40ch; }
  .xlr-cover__edition { flex-direction: row; align-items: center; padding-block-start: 1.75rem; }
  .xlr-cover__portrait { min-block-size: 35rem; }
  .xlr-cover__portrait img { max-block-size: 28rem; }
  .xlr-cover__portrait > a { padding-block: 1.25rem; }
  .xlr-page-nav { flex-wrap: wrap; justify-content: flex-start; gap: .1rem 1.6rem; margin-block-start: 1.25rem; }
  .xlr-section-head, .xlr-compare .section__head { grid-template-columns: 1fr; gap: 1.5rem; }
  .xlr-section-head > p:last-child, .xlr-compare .section__head .lede { max-inline-size: 56ch; }
  .xlr-connection__layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem; align-items: start; }
  .xlr-connection__notes > div { grid-template-columns: 1.25rem minmax(0,1fr); gap: .6rem; padding-block: 1rem; }
  .xlr-connection__notes h3 { font-size: 1.1rem; }
  .xlr-connection__notes p { font-size: .875rem; }
  .xlr-connection__notes .xlr-text-link { font-size: .75rem; }
  .xlr-text-link span { margin-inline-start: .5rem; }
  .xlr-output figcaption { flex-direction: column; align-items: start; gap: .35rem; }
  .xlr-parts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .xlr-faq__layout { grid-template-columns: 1fr; }
}
@media (max-width: 47.99rem) {
  .xlr-editorial main > .section { padding-block: 4rem; }
  .xlr-editorial main h2 { font-size: clamp(2.7rem,8.5vw,4rem); }
  .xlr-cover__portrait { min-block-size: 33rem; }
  .xlr-cover__portrait img { max-block-size: 26rem; }
  .xlr-section-head, .xlr-compare .section__head { margin-block-end: 2.5rem; }
  .xlr-connection__layout, .xlr-finish-grid { grid-template-columns: 1fr; }
  .xlr-connection__notes > div { padding-block: 1.4rem; grid-template-columns: 1.75rem minmax(0,1fr); }
  .xlr-connection__notes h3 { font-size: 1.3rem; }
  .xlr-connection__notes p { font-size: .9375rem; }
  .xlr-output figcaption { flex-direction: row; align-items: center; }
  .xlr-finish-grid { gap: 2rem; }
  .xlr-finish__portrait > a[data-product-open] img { inline-size: 100%; margin-inline: 0; }
  .xlr-finish__portrait h3 { font-size: 3rem; }
  .xlr-angle-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .xlr-cutaway__figure figcaption { padding-inline: 1rem; }
  .xlr-parts { margin-block-start: 2rem; column-gap: 1.5rem; }
  .xlr-parts h3 { font-size: 1rem; }
  .xlr-editorial #specifications .spec-intro h2 { max-inline-size: none; }
  .xlr-enquire .section__head h2 { font-size: clamp(3.4rem,9vw,4.5rem); }
  .xlr-enquire__product { max-inline-size: none; margin-block-start: .5rem; }
}
@media (max-width: 34rem) {
  .xlr-cover h1 { font-size: clamp(3.35rem,14vw,4.75rem); }
  .xlr-cover h1 em { margin-inline-start: .06em; }
  .xlr-cover .xlr-kicker { font-size: .75rem; gap: .5rem 1rem; letter-spacing: .1em; }
  .xlr-cover__copy { padding-block-start: 2.5rem; }
  .xlr-cover__portrait { min-block-size: 28rem; padding: 1.25rem; }
  .xlr-cover__portrait img { max-block-size: 22rem; max-inline-size: 76%; }
  .xlr-cover__portrait figcaption { font-size: .75rem; }
  .xlr-cover__portrait figcaption > span:last-child { gap: .5rem; }
  .xlr-cover__plate { font-size: .75rem; }
  .xlr-page-nav { gap: 0 1.25rem; }
  .xlr-output figcaption { font-size: .75rem; margin-inline: 1rem; }
  .xlr-parts { grid-template-columns: 1fr; }
  .xlr-parts li { padding-block: 1.2rem; }
  .xlr-parts h3 { font-size: 1.0625rem; }
  .xlr-parts p { font-size: .875rem; }
  .xlr-compare .specs--compare :is(th,td) { padding-block: .15rem; }
  .xlr-compare .specs--compare td { font-size: .875rem; }
  .xlr-editorial #specifications .specs th { inline-size: 48%; padding-inline-end: .7rem; }
  .xlr-editorial #specifications .specs td { font-size: .875rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .xlr-finish__portrait > a[data-product-open] img { transition: transform .4s ease; }
  .xlr-finish__portrait > a[data-product-open]:hover img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  .xlr-editorial *, .xlr-editorial *::before, .xlr-editorial *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .xlr-editorial .reveal, .xlr-editorial .rise > span, .xlr-editorial .specs tbody tr, .xlr-editorial .footer__mark { opacity: 1 !important; transform: none !important; translate: none !important; }
}

/* UX review, 24 October 2026. Keep the supplied pixels and editorial grid.
   Width-only rules previously retained HTML height=1000/420/1086, stretching
   the finish, output, thumbnail and diagram images. Reset the block axis.
   Finish stages are bounded; no negative margin or hover magnification. */
.xlr-editorial {
  --bg: #102334; --surface: #163047; --raised: #213c52;
  --ink: #f8f2e8; --ink-2: #c3ced8; --ink-3: #b9c7d5;
  --line: #3c566b; --line-strong: #7b93a7; --accent-text: #97baff;
}
[data-theme="light"] .xlr-editorial,
.xlr-paper {
  --bg: #ffffff; --surface: #ffffff; --raised: #ffffff;
  --ink: #16283a; --ink-2: #536172; --ink-3: #536172;
  --line: #d5c6af; --line-strong: #7b6f5f; --accent-text: #1d50b8;
}
.xlr-cover, .xlr-cutaway, .xlr-editorial .dock {
  --bg: #102334; --ink: #f8f2e8; --ink-2: #c3ced8;
  --line: #3c566b; --accent-text: #97baff;
  background: #102334; color: #f8f2e8;
}
.xlr-cover__portrait, .xlr-output, .xlr-finish__portrait,
.xlr-angle-grid figure a {
  background: #ffffff; color: #16283a;
}
.xlr-finish--white .xlr-finish__portrait,
.xlr-finish--white .xlr-angle-grid figure a {
  background: #163047; color: #f8f2e8;
}
.xlr-cover__portrait figcaption, .xlr-output figcaption,
.xlr-angle-details { border-color: #c9b89f; }
.xlr-cover__portrait img { block-size: auto; }
.xlr-finish__portrait > a[data-product-open] {
  display: grid; place-items: center;
  block-size: clamp(18rem, 34vw, 32rem);
  overflow: hidden;
}
.xlr-finish__portrait > a[data-product-open] img {
  inline-size: 100%; max-inline-size: 100%; block-size: 100%;
  min-inline-size: 0; min-block-size: 0;
  object-fit: contain; object-position: center;
  margin: 0; transform: none;
}
.xlr-finish__portrait > a[data-product-open]:hover img { transform: none; }
.xlr-output > a { display: grid; place-items: center; }
.xlr-output img {
  inline-size: min(100%, 36rem); block-size: auto;
  object-fit: contain; margin-inline: auto;
}
.xlr-angle-grid img { inline-size: 100%; block-size: auto; object-fit: contain; }
.xlr-cutaway__figure img { block-size: auto; object-fit: contain; }
.xlr-editorial :is(summary, a[data-product-open]):focus-visible {
  outline-color: #97baff;
}
.xlr-paper :is(summary, a[data-product-open]):focus-visible,
.xlr-cover__portrait a:focus-visible, .xlr-output a:focus-visible {
  outline-color: #1d50b8;
}
.xlr-finish--white .xlr-finish__portrait > a[data-product-open]:focus-visible,
.xlr-finish--white .xlr-angle-grid a:focus-visible { outline-color: #97baff; }
/* The finish's quote link is a compact action, never an image stage. */
.xlr-finish__portrait > .xlr-finish-quote {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-block-size: 2.75rem; block-size: auto; aspect-ratio: auto;
  margin: 0 clamp(1.25rem, 2.5vw, 2.5rem) 1.5rem;
  padding-block: .75rem; border-block-start: 1px solid currentColor;
  color: inherit; font-size: .875rem; font-weight: 600; text-decoration: none;
}
.xlr-finish__portrait > .xlr-finish-quote:hover { text-decoration: underline; }
.xlr-finish__portrait > .xlr-finish-quote:focus-visible {
  outline: 3px solid #1d50b8; outline-offset: 4px;
}
.xlr-finish--white .xlr-finish__portrait > .xlr-finish-quote:focus-visible {
  outline-color: #97baff;
}
.xlr-finish__portrait > a[data-product-open]:focus-visible,
.xlr-angle-grid a[data-product-open]:focus-visible {
  outline: 3px solid #1d50b8; outline-offset: 3px;
  box-shadow: 0 0 0 3px #ffffff;
}
