/* Existing repair-notebook palette and source order; layout only. */
.desktop-layout .cohesive-reading > section { margin-block: 32px; }
.desktop-layout .cohesive-reading .cohesive-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  padding: 0;
  margin: 22px 0 0;
  list-style: none;
}
.desktop-layout .cohesive-reading .cohesive-links > li { min-width: 0; margin: 0; padding: 0; }
.desktop-layout .cohesive-reading .cohesive-links > li > a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  height: 100%;
  padding: 12px 32px 12px 0;
  border-bottom: 1px solid var(--line);
  color: var(--obsidian);
  text-decoration: none;
  font-size: 15px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.desktop-layout .cohesive-reading .cohesive-links > li > a::after {
  content: '';
  position: absolute;
  right: 2px;
  top: calc(50% - 9px);
  width: 18px;
  height: 18px;
  background: currentColor;
  mask: url('/assets/icons/arrow-right.svg') center / contain no-repeat;
}
.desktop-layout .cohesive-reading .cohesive-links > li > a:hover { border-color: var(--crown-gold); }
.desktop-layout .cohesive-reading .cohesive-links > li > a:focus-visible { outline: 2px solid var(--obsidian); outline-offset: 3px; }
.desktop-layout .cohesive-reading :is(.desktop-topic-row > section, .desktop-topic-unit) > .cohesive-links { grid-template-columns: minmax(0, 1fr); }

/* These four original portrait records form one coherent evidence strip.
   Case-study thumbnails retain their separate established 2x2 treatment. */
.cohesive-reading #bathroom-mould-photo-record { padding-top: 24px; border-top: 2px solid var(--crown-gold); }
.cohesive-reading #bathroom-mould-photo-record > p { max-width: 80ch; }
.cohesive-reading #bathroom-mould-photo-record .case-photo-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  max-width: none;
  margin: 24px 0 0;
}
.cohesive-reading #bathroom-mould-photo-record .case-photo-frame { display: block; height: auto; aspect-ratio: 1280 / 1700; }
.cohesive-reading #bathroom-mould-photo-record .case-photo-frame a { display: block; }
.cohesive-reading #bathroom-mould-photo-record .case-photo-frame img { display: block; width: 100%; height: auto; max-width: 100%; max-height: none; aspect-ratio: 1280 / 1700; object-fit: contain; }
.cohesive-reading #bathroom-mould-photo-record figcaption { padding: 12px 0; border-bottom: 1px solid var(--line); }
@media (min-width: 851px) and (max-width: 1099px) {
  .cohesive-reading #bathroom-mould-photo-record .case-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 680px; }
}

/* Suburb destinations follow the approved Brompton spacing. */
.desktop-layout .cohesive-reading :is(.brompton-nearby-links, .suburb-nearby-links) {
  row-gap: 18px;
}
.desktop-layout .cohesive-reading :is(.brompton-nearby-links, .suburb-nearby-links) > li > a {
  padding-inline: 18px 44px;
}
.desktop-layout .cohesive-reading :is(.brompton-nearby-links, .suburb-nearby-links) > li > a::after {
  right: 16px;
}
@media (max-width: 850px) {
  .desktop-layout .cohesive-reading > section { margin-block: 28px; }
  .desktop-layout .cohesive-reading .cohesive-links { grid-template-columns: minmax(0, 1fr); margin-top: 16px; }
  .cohesive-reading #bathroom-mould-photo-record .case-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; }
}
@media (forced-colors: active) {
  .desktop-layout .cohesive-reading .cohesive-links > li > a { border-color: CanvasText; }
  .desktop-layout .cohesive-reading .cohesive-links > li > a:focus-visible { outline-color: Highlight; }
}

/* Service hierarchy: topic -> guidance -> scope -> complete evidence -> contact. */
.desktop-layout .page-intro .service-subtitle {
  font-family: var(--body); font-size: clamp(21px, 2vw, 29px); font-weight: 500;
  line-height: 1.4; letter-spacing: -.02em; max-width: 34ch; margin-top: 22px;
}
.desktop-layout .service-education { padding-block: 28px 24px; }
.desktop-layout .service-offer { border-top: 1px solid var(--line); }
.desktop-layout .service-offer > .section { padding-block: 32px; }
.desktop-layout .service-offer .reading > .eyebrow { margin-bottom: 16px; }
body .desktop-layout .service-contact-section { background: var(--paper); padding-block: 40px; border-top: 2px solid var(--workbench-black); }
body .desktop-layout .service-contact-section::before { display: none; }
.desktop-layout .service-contact-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; }
.desktop-layout .service-contact-copy { min-width: 0; padding-top: 24px; }
.desktop-layout .service-contact-copy h2 { font-size: clamp(30px, 3vw, 42px); margin-bottom: 24px; }
.desktop-layout .service-contact-copy p { max-width: 52ch; }
.desktop-layout .service-contact-photo { margin: 20px 0 0; max-width: 380px; }
.desktop-layout .service-contact-photo > a { display: block; }
.desktop-layout .service-contact-photo img { display: block; width: 100%; height: auto; }
.desktop-layout .service-contact-photo--compact img { width: min(100%, 346.667px); height: auto; aspect-ratio: 4 / 3; }
.desktop-layout .service-contact-photo--compact[data-contact-photo-slug="flat-pack-assembly"] img { width: min(100%, 170.595px); aspect-ratio: 353 / 538; }
.desktop-layout .service-contact-photo--compact[data-contact-photo-slug="pressure-cleaning"] img { width: min(100%, 170.912px); aspect-ratio: 353 / 537; }
.desktop-layout .service-contact-photo--compact[data-contact-photo-slug="cleaning-removals-specialist-care"] img { width: min(100%, 195.765px); aspect-ratio: 1280 / 1700; }
.desktop-layout .service-contact-photo figcaption { padding-top: 10px; font-size: 13px; line-height: 1.5; color: var(--muted); }
.desktop-layout .service-contact-layout .contact-aside { position: static; width: 100%; min-width: 0; max-width: none; max-height: none; overflow: visible; margin: 0; }
body .desktop-layout .service-contact-layout .compact-enquiry { padding: 24px; }
.desktop-layout .service-contact-layout .compact-enquiry h2 { font-size: clamp(27px, 2.5vw, 34px); line-height: 1.2; }
@media (min-width: 1100px) {
  .desktop-layout .service-contact-layout .compact-enquiry { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
  .desktop-layout .service-contact-layout .compact-enquiry textarea { min-height: 120px; height: 120px; }
}
@media (max-width: 1099px) {
  .desktop-layout .service-contact-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 850px) {
  .desktop-layout .service-education { padding-block: 24px 16px; }
}
@media (max-width: 520px) {
  body .desktop-layout .service-contact-layout .compact-enquiry { padding: 24px 18px; }
}

/* Supplied North Adelaide portrait photographs: keep the complete image ratio. */
.case-photo-frame > .case-original-link { display: flex; align-items: center; justify-content: center; max-width: 100%; height: 100%; }
.desktop-layout .service-contact-photo--compact:is([data-contact-photo-slug="door-repair"], [data-contact-photo-slug="maintenance-planning-inspection-support"]) img { width: min(100%, 194.962px); aspect-ratio: 1280 / 1707; }

/* Full-width case photo strips: preserve reading order and complete diagnostic images. */
.service-visual-gallery.case-photo-grid.case-photo-strip {
  width: 100%; max-width: none; margin: 24px 0 0;
  grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; align-items: stretch;
}
.service-visual-gallery.case-photo-grid.case-photo-strip--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-photo-strip .service-visual { display: flex; flex-direction: column; align-self: stretch; }
.case-photo-strip .case-photo-frame { position: relative; display: block; flex: none; min-width: 0; min-height: 0; width: 100%; height: auto; aspect-ratio: 4 / 3; }
.case-photo-strip--portrait .case-photo-frame { aspect-ratio: 3 / 4; }
.case-photo-strip--slender .case-photo-frame { aspect-ratio: 2 / 3; }
.case-photo-strip--mixed .case-photo-frame { aspect-ratio: 1; }
.case-photo-strip .case-photo-frame > :is(img, picture, .case-original-link, .annotated-photo),
.case-photo-strip .case-photo-frame :is(.case-original-link, .annotated-photo) > picture {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none;
}
.case-photo-strip .case-photo-frame img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: none; object-fit: contain; }
.case-photo-strip figcaption { flex: 1; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.5; }
@media (max-width: 1099px) {
  .service-visual-gallery.case-photo-grid.case-photo-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 650px) {
  .service-visual-gallery.case-photo-grid.case-photo-strip { gap: 18px 14px; }
  .case-photo-strip figcaption { padding: 10px 0; font-size: 12px; }
}

/* Service evidence cards are owned by repair-desk.css. Case photograph strips above remain unchanged. */
