/* Brislington keeps its original photo narrative and uses the shared opening. */
.brislington-page .project-opening-shell .project-lead-image {
  align-self: stretch;
  max-width: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.brislington-page .project-opening-shell .project-lead-image img {
  height: auto !important;
  max-height: calc(100% - 26px);
  flex: 0 1 auto;
  aspect-ratio: auto;
  object-fit: contain !important;
  object-position: center;
}
.brislington-page .project-opening-shell .project-lead-image figcaption { flex: 0 0 auto; }
.brislington-page .wf-comparison-scroll { overflow-x: auto; }
.brislington-comparison-table { width: 100%; border-collapse: collapse; text-align: left; }
.brislington-comparison-table :is(th, td) { padding: 16px; vertical-align: top; border-bottom: 1px solid var(--rule); }
.brislington-comparison-table thead { background: var(--heading); color: #FFFFFF; }
.brislington-comparison-table th { font-weight: 600; }
.brislington-comparison-table tbody { color: var(--text); }
.brislington-comparison-table .comparison-summary { background: #FFF8ED; }
.brislington-page .case-testimonial-photo { display: block; width: 100%; max-width: 320px; height: auto; margin-top: 24px; }
@media (max-width: 700px) {
  .brislington-comparison-table { min-width: 650px; font-size: 10.4px; line-height: 1.55; }
}
@supports (container-type: inline-size) {
/* Short windows keep the original overflow-aware measured opening. */
@media (min-width: 1101px) and (min-height: 601px) {
  /* Reserve the same opening geometry that project-opening.js computes.
     Current desktop line boxes: facts 19.1875 + 6 + 19.5px; back link 20.796875px.
     These are layout reservations, not new typography or photo dimensions. */
  .brislington-page {
    --eco-opening-facts: calc((2 * var(--g5-space-6) + 19.1875px + 6px + 19.5px) * 1.875);
    --eco-opening-figure-height: calc(100svh - var(--project-masthead-height) - var(--eco-opening-facts) - 2 * var(--g5-space-6) - 20.796875px - var(--g5-space-4));
    --eco-opening-photo-height: max(0px, calc(var(--eco-opening-figure-height) - 26px));
    --eco-opening-base-column: calc((100cqw - var(--g5-space-12)) / 2);
    --eco-opening-reference-width: min(var(--eco-opening-base-column), calc(var(--eco-opening-photo-height) * 940 / 1672));
    --eco-opening-base-gap: calc(var(--g5-space-12) + max(0px, (var(--eco-opening-base-column) - var(--eco-opening-reference-width)) / 2));
    --eco-opening-original-column: calc((100cqw - var(--eco-opening-base-gap)) / 2);
    --eco-opening-original-visible: min(var(--eco-opening-original-column), calc(var(--eco-opening-photo-height) * 1672 / 941));
    --eco-opening-reserved-width: min(calc(var(--eco-opening-original-visible) * 1.56), calc(var(--eco-opening-photo-height) * 1672 / 941));
    --eco-opening-reserved-gap: calc(var(--eco-opening-base-gap) + max(0px, (var(--eco-opening-original-column) - var(--eco-opening-original-visible)) / 2));
  }
  .brislington-page .project-intro > .wrap { container-type: inline-size; }
  .brislington-page .project-facts-band { height: var(--project-opening-facts-height, var(--eco-opening-facts)); }
}
}
@media (min-width: 1101px) {
  .brislington-page .project-intro-grid {
    grid-template-columns: minmax(0, var(--project-opening-image-width, var(--eco-opening-reserved-width, 1.2fr))) minmax(0, 1fr);
    gap: var(--project-opening-image-gap, var(--eco-opening-reserved-gap, var(--g5-space-12)));
  }
  .brislington-page { --brislington-chapter-inset: calc(76px + var(--g5-space-8)); }
  .brislington-page .project-chapter { padding-block: var(--g5-space-12) !important; }
  .brislington-page .chapter-heading {
    grid-template-columns: 76px minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--g5-space-8);
    margin-bottom: var(--g5-space-8);
  }
  .brislington-page .chapter-heading h2 strong { font-weight: var(--g5-weight-strong); }
  .brislington-page .chapter-heading > p { align-self: end; margin: 0; }
  .brislington-page .brislington-performance .chapter-heading { margin-bottom: calc(2 * var(--g5-space-12)); }
  .brislington-page .performance-comparison { width: calc(100% - 2 * var(--brislington-chapter-inset)); margin: 0 auto calc(2 * var(--g5-space-16)); }
  .brislington-comparison-table { table-layout: fixed; font-size: var(--g5-type-13); line-height: var(--g5-leading-compact); }
  .brislington-comparison-table .comparison-element { width: 24%; }
  .brislington-comparison-table .comparison-eco { width: 18%; }
  .brislington-comparison-table .comparison-standard { width: 23%; }
  .brislington-comparison-table .comparison-difference { width: 35%; }
  .brislington-comparison-table :is(th, td) { padding: 14px var(--g5-space-4); border-color: var(--g5-color-border); }
  .brislington-comparison-table thead { background: var(--g5-color-white); color: var(--g5-color-charcoal); }
  .brislington-comparison-table tbody { color: var(--g5-color-text); }
  .brislington-comparison-table tbody th { color: var(--g5-color-charcoal); }
  .brislington-comparison-table :is(th, strong) { font-weight: var(--g5-weight-strong); }
  .brislington-comparison-table .comparison-summary { background: var(--g5-color-selection); }
  .brislington-page .fabric-sequence { width: calc(100% - 2 * var(--brislington-chapter-inset)); max-width: none; }
  .brislington-page .fabric-sequence img { aspect-ratio: 4 / 5; object-fit: cover; }
  .brislington-page .brislington-testimonial { padding-top: var(--g5-space-6) !important; }
  .brislington-page .case-testimonial { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: var(--g5-space-12); align-items: center; max-width: 980px; margin-inline: auto; }
  .brislington-page .case-testimonial-photo { width: 260px; max-width: 100%; margin: 0; }
  .brislington-page .case-quote { min-width: 0; margin: 0; padding-left: var(--g5-space-8); border-left: 2px solid var(--g5-color-accent); }
  .brislington-page .case-quote blockquote { font-size: var(--g5-type-13); font-weight: var(--g5-weight-regular); line-height: var(--g5-leading-body); margin-bottom: var(--g5-space-4); }
  .brislington-page .case-quote .project-eyebrow { margin-bottom: var(--g5-space-4); }
  .brislington-page #brislington-enquiry { padding-block: var(--g5-space-12); background: var(--g5-color-stone); }
  .brislington-page #brislington-enquiry .wrap { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: var(--g5-space-12); align-items: center; }
  .brislington-page #brislington-enquiry h2 { max-width: none; margin: 0 0 var(--g5-space-4); padding: 0; border: 0; color: var(--heading); }
  .brislington-page #brislington-enquiry p { max-width: 760px; margin: 0; color: var(--g5-color-text); }
  .brislington-page #brislington-enquiry .btn { width: 250px; max-width: 100%; padding: 14px 20px; text-align: center; color: var(--heading); font-weight: var(--g5-weight-strong); transition: background-color .2s ease, transform .2s ease; }
  .brislington-page #brislington-enquiry .btn:hover { background: var(--g5-color-hover); transform: scale(1.045); }
}
@media (prefers-reduced-motion: reduce) {
  .brislington-page #brislington-enquiry .btn { transition: none; }
  .brislington-page #brislington-enquiry .btn:hover { transform: none; }
}
