/* Service rollout: three distinct compositions using the approved Bento palette.
   Staging file only. Body copy grows through the existing Reading settings. */
.rollout-service {
  --rs-radius: 32px;
  --rs-gap: 24px;
  --rs-dark-surface: var(--mhs-ink, #143e31);
  --rs-dark-ink: var(--mhs-paper, #f7f3e9);
  --rs-accent-ink: var(--mhs-ink, #143e31);
  --rs-border: var(--mhs-line, #b6c1b5);
  background: var(--mhs-paper, #f7f3e9);
  color: var(--mhs-ink, #143e31);
}
html:not([data-display-mode="light"])[data-display-mode] .rollout-service {
  --rs-dark-surface: var(--mhs-panel, #193a2f);
  --rs-dark-ink: var(--mhs-ink, #f7f3e9);
  --rs-accent-ink: #143e31;
}
.rollout-service .rs-main {
  width: 100%;
  min-width: 0;
  background: var(--mhs-paper, #f7f3e9);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-main > .section {
  width: 100%;
  max-width: 1440px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 64px;
}
.rollout-service .rs-main :is(.wp-block-group, section, figure, table, details) {
  min-width: 0;
  box-sizing: border-box;
}
.rollout-service .rs-main :is(p, li, h1, h2, h3, td, th, figcaption, summary, a) {
  overflow-wrap: anywhere;
}
.rollout-service .rs-main h1 {
  --mhs-reading-base: clamp(56px, 5.6vw, 80px);
  font-size: clamp(56px, 5.6vw, 80px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: 1.04;
  text-wrap: balance;
}
.rollout-service .rs-main h1 em,
.rollout-service .rs-closing-card h2 em {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  letter-spacing: -.055em;
}
.rollout-service .rs-main h2 {
  --mhs-reading-base: clamp(38px, 3.6vw, 52px);
  font-size: clamp(38px, 3.6vw, 52px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.13;
  text-wrap: balance;
}
.rollout-service .rs-main :is(p, li) {
  --mhs-reading-base: 18px;
  font-size: 18px;
  line-height: 1.85;
}
.rollout-service .rs-main .eyebrow {
  --mhs-reading-base: 12px;
  margin: 0 0 24px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  line-height: 1.7;
}
.rollout-service .rs-main .rs-intro {
  --mhs-reading-base: 20px;
  max-width: 58ch;
  margin-top: 28px;
  font-size: 20px;
  line-height: 1.8;
}
.rollout-service .rs-main .rs-breadcrumbs {
  --mhs-reading-base: 14px;
  margin-bottom: 30px;
  font-size: 14px;
  line-height: 1.7;
}
.rollout-service .rs-main > .rs-hero { padding-top: 30px; }
.rollout-service .rs-section-copy > p { margin-top: 25px; }
.rollout-service .rs-section-copy > h2 { margin: 0; }
.rollout-service .rs-section-copy > ul {
  margin: 27px 0 0;
  padding-left: 23px;
}
.rollout-service .rs-section-copy > ul > li {
  margin: 13px 0;
  padding-left: 4px;
}
.rollout-service .rs-section-copy a {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.rollout-service .rs-main .wp-block-image {
  display: block;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: var(--rs-radius);
  background: var(--mhs-soft, #e8edde);
}
.rollout-service .rs-main .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rollout-service .rs-main .rs-section-photo {
  width: 100%;
  height: 420px;
}
.rollout-service .rs-main .rs-content-section { margin: 0; }
.rollout-service .rs-main .tile {
  border-radius: var(--rs-radius);
  background: var(--mhs-soft, #e8edde);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-main .wp-block-buttons {
  gap: 12px;
  margin-top: 30px;
}
.rollout-service .rs-main .wp-block-button { max-width: 100%; }
.rollout-service .rs-main .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 48px;
  padding: 18px 24px;
  border-radius: 30px;
  background: var(--mhs-ink, #143e31);
  color: var(--mhs-paper, #f7f3e9);
  font-size: 16px;
  line-height: 1.45;
  text-align: center;
  white-space: normal;
}
.rollout-service .rs-main a:focus-visible,
.rollout-service .rs-main summary:focus-visible,
.rollout-service .rs-main .wp-block-table:focus-visible {
  outline: 3px solid var(--mhs-ink, #143e31);
  outline-offset: 5px;
}
.rollout-service :is(.rs-preparation-band, .rs-technical-title, .rs-closing-card, .rs-fitting-secondary-pair .rs-card-1, .rs-detail-card:last-child) a:focus-visible {
  outline-color: var(--rs-dark-ink);
}
.rollout-service .rs-project-note a:focus-visible { outline-color: var(--rs-accent-ink); }

/* REFURBISHMENT / DECORATING: a wide editorial photograph, unequal cards and
   a full-width preparation band. This rhythm is deliberately not a split hero. */
.rollout-service .rs-editorial-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(250px, .75fr);
  align-items: end;
  gap: 55px;
  margin: 10px 0 40px;
}
.rollout-service .rs-editorial-title h1 { max-width: 17ch; }
.rollout-service .rs-main .rs-project-note {
  padding: 30px;
  background: var(--mhs-orange, #f48148);
  color: var(--rs-accent-ink);
}
.rollout-service .rs-project-note .eyebrow { margin-bottom: 18px; }
.rollout-service .rs-project-note > p:not(.eyebrow) { font-size: 17px; }
.rollout-service .rs-project-note .wp-block-button__link {
  background: var(--rs-accent-ink);
  color: var(--mhs-paper, #f7f3e9);
}
.rollout-service .rs-main .rs-wide-hero {
  height: clamp(420px, 42vw, 590px);
  border-radius: 38px;
}
.rollout-service .rs-refurbishment-pair {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: start;
  gap: 28px;
}
.rollout-service .rs-refurbishment-pair .rs-card-1 { margin-top: 105px; }
.rollout-service .rs-refurbishment-pair .rs-card-0 > .rs-section-photo { height: 390px; }
.rollout-service .rs-refurbishment-pair .rs-card-1 > .rs-section-photo { height: 290px; }
.rollout-service .rs-pair-card { overflow: hidden; }
.rollout-service .rs-pair-card > .rs-section-photo { border-radius: 0; }
.rollout-service .rs-pair-card > .rs-section-copy { padding: 38px; }
.rollout-service .rs-pair-card > .rs-section-copy h2 { font-size: 39px; }
.rollout-service .rs-preparation-band {
  margin: 30px 0;
  padding: 68px 64px;
  background: var(--rs-dark-surface);
  color: var(--rs-dark-ink);
}
.rollout-service .rs-band-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 60px;
  width: 100%;
  max-width: 1312px;
  margin-right: auto !important;
  margin-left: auto !important;
  background: var(--rs-dark-surface);
  color: var(--rs-dark-ink);
}
.rollout-service .rs-band-row + .rs-band-row { margin-top: 80px; }
.rollout-service .rs-band-row .rs-section-photo { height: 510px; }
.rollout-service .rs-band-row-3 .rs-section-photo { border-radius: 90px 32px 32px; }
.rollout-service .rs-refurbishment-details {
  display: grid;
  gap: 75px;
}
.rollout-service .rs-offset-row {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: 70px;
}
.rollout-service .rs-offset-row-5 { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.rollout-service .rs-offset-row-4 .rs-section-photo { height: 520px; border-radius: 32px 90px 32px 32px; }
.rollout-service .rs-offset-row-5 .rs-section-photo { height: 430px; }
.rollout-service .rs-offset-row-6 .rs-section-photo { height: 470px; border-radius: 90px 32px 32px; }
.rollout-service .rs-project-panels {
  display: grid;
  gap: 25px;
}
.rollout-service .rs-main .rs-project-panel {
  padding: 42px;
  background: var(--mhs-panel, #fffdf6);
  color: var(--mhs-ink, #143e31);
  border: 1px solid var(--rs-border);
}
.rollout-service .rs-project-panel > .rs-section-copy { max-width: 1050px; }
.rollout-service .rs-project-panel:nth-child(2) { margin-left: 100px; }
.rollout-service .rs-project-panel:nth-child(3) { margin-right: 100px; }

/* TECHNICAL / REPAIRS: split hero, an early job table and alternating work rows,
   followed by a broad detail card and a smaller paired row. */
.rollout-service .rs-technical-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 20px;
}
.rollout-service .rs-main .rs-technical-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px;
  background: var(--rs-dark-surface);
  color: var(--rs-dark-ink);
}
.rollout-service .rs-technical-title h1 { max-width: 14ch; }
.rollout-service .rs-technical-title .wp-block-button__link {
  background: var(--mhs-orange, #f48148);
  color: var(--rs-accent-ink);
}
.rollout-service .rs-technical-hero-media { display: flex; flex-direction: column; gap: 18px; }
.rollout-service .rs-main .rs-technical-hero-photo { height: 580px; }
.rollout-service .rs-main .rs-job-facts {
  padding: 28px 32px;
  background: var(--mhs-orange, #f48148);
  color: var(--rs-accent-ink);
}
.rollout-service .rs-job-facts .eyebrow { margin-bottom: 12px; }
.rollout-service .rs-technical-rows { display: grid; gap: 80px; }
.rollout-service .rs-technical-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 70px;
}
.rollout-service .rs-technical-row .rs-section-photo { height: 480px; }
.rollout-service .rs-row-1 .rs-section-photo { border-radius: 32px 110px 32px 32px; }
.rollout-service .rs-technical-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}
.rollout-service .rs-detail-card { overflow: hidden; }
.rollout-service .rs-detail-card > .rs-section-photo { height: 310px; border-radius: 0; }
.rollout-service .rs-detail-card > .rs-section-copy { padding: 36px; }
.rollout-service .rs-detail-card h2 { font-size: 38px; }
.rollout-service .rs-main .rs-detail-card:first-child {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: stretch;
  background: var(--mhs-panel, #fffdf6);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-detail-card:first-child > .rs-section-photo { height: 100%; min-height: 440px; }
.rollout-service .rs-detail-card:first-child > .rs-section-copy { padding: 42px; }
.rollout-service .rs-main .rs-detail-card:last-child {
  background: var(--rs-dark-surface);
  color: var(--rs-dark-ink);
}
.rollout-service .rs-review-row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: center;
  gap: 50px;
  padding: 42px;
  border-radius: var(--rs-radius);
  background: var(--mhs-soft, #e8edde);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-review-row > .rs-section-photo { height: 500px; }
.rollout-service .rs-technical-notes { display: grid; gap: 26px; }
.rollout-service .rs-technical-note {
  padding: 40px 44px;
  border-top: 1px solid var(--rs-border);
  border-bottom: 1px solid var(--rs-border);
  background: var(--mhs-paper, #f7f3e9);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-technical-note > .rs-section-copy { max-width: 1080px; }
.rollout-service .rs-technical-note:nth-child(2) { margin-left: 80px; background: var(--mhs-soft, #e8edde); border-radius: var(--rs-radius); }

/* FITTING / MOUNTING: an offset photograph and title, staggered opening cards,
   wide installation rows and a contrasting second pair. */
.rollout-service .rs-fitting-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: center;
  gap: 60px;
}
.rollout-service .rs-fitting-title h1 { max-width: 15ch; }
.rollout-service .rs-fitting-hero-media { padding-top: 65px; }
.rollout-service .rs-main .rs-offset-hero-photo { height: 540px; border-radius: 110px 32px 32px; }
.rollout-service .rs-main .rs-fitting-note {
  margin: 18px 0 0 40px;
  padding: 27px 30px;
  background: var(--mhs-orange, #f48148);
  color: var(--rs-accent-ink);
}
.rollout-service .rs-fitting-note .eyebrow { margin-bottom: 12px; }
.rollout-service .rs-main .rs-hero-note {
  --mhs-reading-base: 16px;
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.8;
}
.rollout-service .rs-fitting-pair,
.rollout-service .rs-fitting-secondary-pair {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 28px;
}
.rollout-service .rs-fitting-pair .rs-card-1 { margin-top: 85px; }
.rollout-service .rs-fitting-pair .rs-section-photo { height: 330px; }
.rollout-service .rs-fitting-rows { display: grid; gap: 75px; }
.rollout-service .rs-fitting-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 70px;
}
.rollout-service .rs-fitting-row .rs-section-photo { height: 470px; }
.rollout-service .rs-fitting-row-3 .rs-section-photo { border-radius: 32px 100px 32px; }
.rollout-service .rs-fitting-secondary-pair { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.rollout-service .rs-fitting-secondary-pair .rs-card-1 { margin-top: 95px; }
.rollout-service .rs-fitting-secondary-pair .rs-section-photo { height: 340px; }
.rollout-service .rs-main .rs-fitting-secondary-pair .rs-card-1 {
  background: var(--rs-dark-surface);
  color: var(--rs-dark-ink);
}
.rollout-service .rs-fitting-completion {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: 50px;
  padding: 42px;
  border-radius: var(--rs-radius);
  background: var(--mhs-soft, #e8edde);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-fitting-completion > .rs-section-photo { height: 490px; }
.rollout-service .rs-fitting-booking-panels { display: grid; gap: 25px; }
.rollout-service .rs-main .rs-booking-panel {
  padding: 42px;
  border: 1px solid var(--rs-border);
  background: var(--mhs-panel, #fffdf6);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-booking-panel:nth-child(2) { margin-right: 90px; }
.rollout-service .rs-booking-panel:nth-child(3) { margin-left: 90px; }

/* Shared service tables, disclosures and close. Only image crops have fixed
   heights; every text container remains content-sized at all reading scales. */
.rollout-service .rs-table-section > h2 { max-width: 900px; }
.rollout-service .rs-table-section > .wp-block-table {
  width: 100%;
  max-width: 100%;
  margin-top: 30px;
  padding: 28px 32px;
  overflow-x: auto;
  border: 1px solid var(--rs-border);
  border-radius: 28px;
  background: var(--mhs-panel, #fffdf6);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-table-section table { width: 100%; table-layout: fixed; }
.rollout-service .rs-table-section :is(td, th) {
  --mhs-reading-base: 16px;
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
  vertical-align: top;
  border-color: var(--rs-border);
}
.rollout-service .rs-table-section th { font-weight: 700; }
.rollout-service .rs-table-section figcaption {
  --mhs-reading-base: 14px;
  min-width: 0;
  padding-top: 21px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-main > .rs-faq { max-width: 1100px; }
.rollout-service .rs-faq > h2 { max-width: 750px; margin-bottom: 35px; }
.rollout-service .rs-faq details { padding: 24px 0; border-color: var(--rs-border); }
.rollout-service .rs-faq summary {
  --mhs-reading-base: 21px;
  min-height: 44px;
  font-size: 21px;
  line-height: 1.6;
}
.rollout-service .rs-faq details > p {
  --mhs-reading-base: 18px;
  max-width: none;
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.9;
}
.rollout-service .rs-main > .rs-closing { padding-top: 30px; }
.rollout-service .rs-main .rs-closing-card {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 20px 60px;
  padding: 50px;
  background: var(--rs-dark-surface);
  color: var(--rs-dark-ink);
}
.rollout-service .rs-closing-card > .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.rollout-service .rs-closing-card > h2 { grid-column: 1; grid-row: 2 / 4; font-size: 58px; }
.rollout-service .rs-closing-card > p:not(.eyebrow) { grid-column: 2; margin: 0; }
.rollout-service .rs-closing-card > .wp-block-buttons { grid-column: 2; margin: 0; align-self: start; }
.rollout-service .rs-closing-card .wp-block-button__link {
  background: var(--mhs-orange, #f48148);
  color: var(--rs-accent-ink);
}
.rollout-service .rs-closing-card .wp-block-button:nth-child(2) .wp-block-button__link {
  background: var(--mhs-paper, #f7f3e9);
  color: var(--mhs-ink, #143e31);
}
.rollout-service .rs-additional-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.rollout-service .rs-additional-photo { height: 360px; }

@media (max-width: 1100px) {
  .rollout-service .rs-main > .section { padding: 52px 32px; }
  .rollout-service .rs-main h1 { font-size: clamp(52px, 6.8vw, 72px); }
  .rollout-service .rs-main h2 { font-size: 44px; }
  .rollout-service .rs-editorial-heading { grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); gap: 30px; }
  .rollout-service .rs-project-note { padding: 26px; }
  .rollout-service .rs-wide-hero { height: 430px; }
  .rollout-service .rs-refurbishment-pair,
  .rollout-service .rs-fitting-pair,
  .rollout-service .rs-fitting-secondary-pair { gap: 20px; }
  .rollout-service .rs-pair-card > .rs-section-copy { padding: 30px; }
  .rollout-service .rs-pair-card > .rs-section-copy h2 { font-size: 34px; }
  .rollout-service .rs-preparation-band { padding: 52px 32px; }
  .rollout-service :is(.rs-band-row, .rs-offset-row, .rs-technical-row, .rs-fitting-row) { gap: 35px; }
  .rollout-service .rs-technical-title { padding: 32px; }
  .rollout-service .rs-technical-hero-photo { height: 480px; }
  .rollout-service .rs-fitting-hero-grid { gap: 35px; }
  .rollout-service .rs-offset-hero-photo { height: 470px; }
  .rollout-service .rs-fitting-hero-media { padding-top: 45px; }
  .rollout-service .rs-fitting-note { margin-left: 15px; }
  .rollout-service :is(.rs-review-row, .rs-fitting-completion) { padding: 32px; gap: 32px; }
  .rollout-service .rs-detail-card > .rs-section-copy,
  .rollout-service .rs-detail-card:first-child > .rs-section-copy { padding: 30px; }
  .rollout-service .rs-detail-card h2 { font-size: 34px; }
  .rollout-service .rs-closing-card { padding: 40px; gap: 24px 35px; }
  .rollout-service .rs-closing-card > h2 { font-size: 49px; }
}

@media (min-width: 701px) and (max-width: 900px) {
  .rollout-service .rs-editorial-heading { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .rollout-service .rs-project-note { max-width: 520px; margin-left: auto; }
  .rollout-service .rs-technical-hero-grid,
  .rollout-service .rs-fitting-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .rollout-service .rs-technical-hero-media { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); align-items: stretch; }
  .rollout-service .rs-main .rs-technical-hero-photo { height: 410px; }
  .rollout-service .rs-job-facts { align-self: end; }
  .rollout-service .rs-fitting-hero-media { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); align-items: end; gap: 18px; padding-top: 10px; }
  .rollout-service .rs-main .rs-offset-hero-photo { height: 410px; }
  .rollout-service .rs-main .rs-fitting-note { margin: 0; padding: 25px; }
  .rollout-service .rs-main .rs-detail-card:first-child { grid-template-columns: minmax(0, 1fr); }
  .rollout-service .rs-detail-card:first-child > .rs-section-photo { height: 360px; min-height: 0; }
  .rollout-service :is(.rs-review-row, .rs-fitting-completion) { grid-template-columns: minmax(0, 1fr); }
  .rollout-service :is(.rs-review-row, .rs-fitting-completion) > .rs-section-photo { height: 360px; }
}

/* Larger Reading settings reflow the composition rather than confine enlarged
   text to narrow cards. This also covers a saved 200% setting before first paint. */
html:is([data-reading-size="1.5"], [data-reading-size="1.6"], [data-reading-size="1.7"], [data-reading-size="1.8"], [data-reading-size="1.9"], [data-reading-size="2"]) .rollout-service :is(
  .rs-editorial-heading, .rs-refurbishment-pair, .rs-band-row, .rs-offset-row,
  .rs-technical-hero-grid, .rs-technical-row, .rs-technical-detail-grid,
  .rs-detail-card:first-child, .rs-review-row, .rs-fitting-hero-grid,
  .rs-fitting-pair, .rs-fitting-row, .rs-fitting-secondary-pair,
  .rs-fitting-completion, .rs-closing-card, .rs-technical-hero-media,
  .rs-fitting-hero-media
) { grid-template-columns: minmax(0, 1fr); }
html:is([data-reading-size="1.5"], [data-reading-size="1.6"], [data-reading-size="1.7"], [data-reading-size="1.8"], [data-reading-size="1.9"], [data-reading-size="2"]) .rollout-service :is(
  .rs-card-1, .rs-project-panel, .rs-technical-note, .rs-booking-panel,
  .rs-fitting-note, .rs-project-note
) { margin-right: 0; margin-left: 0; margin-top: 0; }
html:is([data-reading-size="1.5"], [data-reading-size="1.6"], [data-reading-size="1.7"], [data-reading-size="1.8"], [data-reading-size="1.9"], [data-reading-size="2"]) .rollout-service .rs-fitting-hero-media { padding-top: 0; }
html:is([data-reading-size="1.5"], [data-reading-size="1.6"], [data-reading-size="1.7"], [data-reading-size="1.8"], [data-reading-size="1.9"], [data-reading-size="2"]) .rollout-service .rs-detail-card:first-child > .rs-section-photo { height: 420px; min-height: 0; }
html:is([data-reading-size="1.5"], [data-reading-size="1.6"], [data-reading-size="1.7"], [data-reading-size="1.8"], [data-reading-size="1.9"], [data-reading-size="2"]) .rollout-service .rs-closing-card > :is(h2, p, .wp-block-buttons) { grid-column: auto; grid-row: auto; }

@media (max-width: 700px) {
  .rollout-service { --rs-radius: 26px; --rs-gap: 18px; }
  .rollout-service .rs-main > .section { padding: 42px 18px; }
  .rollout-service .rs-main > .rs-hero { padding-top: 24px; }
  .rollout-service .rs-main h1 { --mhs-reading-base: clamp(42px, 12.6vw, 52px); font-size: clamp(42px, 12.6vw, 52px); line-height: 1.06; letter-spacing: -.055em; }
  .rollout-service .rs-main h2 { --mhs-reading-base: 38px; font-size: 38px; line-height: 1.15; }
  .rollout-service .rs-main :is(p, li) { --mhs-reading-base: 18px; font-size: 18px; line-height: 1.85; }
  .rollout-service .rs-main .eyebrow { --mhs-reading-base: 11px; font-size: 11px; margin-bottom: 21px; }
  .rollout-service .rs-main .rs-intro { --mhs-reading-base: 18px; font-size: 18px; line-height: 1.85; margin-top: 25px; }
  .rollout-service .rs-main .rs-breadcrumbs { --mhs-reading-base: 13px; font-size: 13px; margin-bottom: 24px; }
  .rollout-service .rs-main .rs-hero-note { --mhs-reading-base: 16px; font-size: 16px; }
  .rollout-service .rs-section-copy > p { margin-top: 23px; }
  .rollout-service .rs-main .wp-block-button__link { padding: 17px 21px; font-size: 16px; }
  .rollout-service .rs-main .wp-block-buttons { gap: 12px; margin-top: 27px; }
  .rollout-service .rs-main :is(
    .rs-editorial-heading, .rs-refurbishment-pair, .rs-band-row, .rs-offset-row,
    .rs-technical-hero-grid, .rs-technical-row, .rs-technical-detail-grid,
    .rs-detail-card:first-child, .rs-review-row, .rs-fitting-hero-grid,
    .rs-fitting-pair, .rs-fitting-row, .rs-fitting-secondary-pair,
    .rs-fitting-completion, .rs-closing-card, .rs-technical-hero-media,
    .rs-fitting-hero-media, .rs-additional-gallery
  ) { display: grid; grid-template-columns: minmax(0, 1fr); }
  .rollout-service .rs-editorial-heading { gap: 28px; margin-bottom: 25px; }
  .rollout-service .rs-main .rs-project-note { max-width: none; margin: 0; padding: 28px; }
  .rollout-service .rs-project-note > p:not(.eyebrow) { --mhs-reading-base: 17px; font-size: 17px; }
  .rollout-service .rs-main .rs-wide-hero { height: 310px; border-radius: 26px; }
  .rollout-service .rs-refurbishment-pair,
  .rollout-service .rs-fitting-pair,
  .rollout-service .rs-fitting-secondary-pair { gap: 24px; }
  .rollout-service .rs-main :is(.rs-card-1, .rs-project-panel, .rs-technical-note, .rs-booking-panel) { margin: 0; }
  .rollout-service .rs-main .rs-pair-card > .rs-section-photo,
  .rollout-service .rs-main .rs-detail-card > .rs-section-photo { height: 270px; min-height: 0; }
  .rollout-service .rs-main .rs-pair-card > .rs-section-copy,
  .rollout-service .rs-main .rs-detail-card > .rs-section-copy { padding: 29px 27px; }
  .rollout-service .rs-main .rs-pair-card h2,
  .rollout-service .rs-main .rs-detail-card h2 { font-size: 34px; }
  .rollout-service .rs-preparation-band { padding: 42px 18px; margin: 15px 0; }
  .rollout-service .rs-band-row { gap: 28px; }
  .rollout-service .rs-band-row + .rs-band-row { margin-top: 45px; }
  .rollout-service .rs-main :is(.rs-band-row, .rs-offset-row, .rs-technical-row, .rs-fitting-row) .rs-section-photo { height: 300px; border-radius: 26px; }
  .rollout-service :is(.rs-refurbishment-details, .rs-technical-rows, .rs-fitting-rows) { gap: 45px; }
  .rollout-service :is(.rs-offset-row, .rs-technical-row, .rs-fitting-row) { gap: 28px; }
  .rollout-service .rs-main :is(.rs-project-panel, .rs-booking-panel, .rs-technical-note) { padding: 31px 27px; }
  .rollout-service .rs-main .rs-technical-title { padding: 33px 27px; }
  .rollout-service .rs-technical-hero-grid { gap: 16px; }
  .rollout-service .rs-technical-hero-media { gap: 16px; }
  .rollout-service .rs-main .rs-technical-hero-photo { height: 350px; }
  .rollout-service .rs-main .rs-job-facts { padding: 27px; }
  .rollout-service .rs-job-facts > p:not(.eyebrow) { --mhs-reading-base: 17px; font-size: 17px; }
  .rollout-service .rs-technical-detail-grid { gap: 24px; }
  .rollout-service .rs-main .rs-detail-card:first-child { grid-column: auto; }
  .rollout-service .rs-main :is(.rs-review-row, .rs-fitting-completion) { padding: 30px 25px; gap: 28px; }
  .rollout-service .rs-main :is(.rs-review-row, .rs-fitting-completion) > .rs-section-photo { height: 300px; }
  .rollout-service .rs-fitting-hero-grid { gap: 30px; }
  .rollout-service .rs-fitting-hero-media { padding: 0; gap: 16px; }
  .rollout-service .rs-main .rs-offset-hero-photo { height: 355px; border-radius: 65px 26px 26px; }
  .rollout-service .rs-main .rs-fitting-note { padding: 27px; margin: 0; }
  .rollout-service .rs-fitting-note > p:not(.eyebrow) { --mhs-reading-base: 17px; font-size: 17px; }
  .rollout-service .rs-table-section > .wp-block-table { padding: 21px 19px; margin-top: 27px; border-radius: 24px; }
  .rollout-service .rs-table-section table { min-width: 600px; table-layout: auto; }
  .rollout-service .rs-table-section :is(td, th) { --mhs-reading-base: 16px; font-size: 16px; }
  .rollout-service .rs-table-section figcaption { --mhs-reading-base: 14px; font-size: 14px; }
  .rollout-service .rs-main > .rs-faq { padding-left: 26px; padding-right: 26px; }
  .rollout-service .rs-faq > h2 { margin-bottom: 28px; }
  .rollout-service .rs-faq summary { --mhs-reading-base: 20px; font-size: 20px; }
  .rollout-service .rs-faq details > p { --mhs-reading-base: 18px; font-size: 18px; }
  .rollout-service .rs-main .rs-closing-card { padding: 35px 27px; gap: 24px; }
  .rollout-service .rs-closing-card > :is(h2, p, .wp-block-buttons) { grid-column: auto; grid-row: auto; }
  .rollout-service .rs-closing-card > h2 { font-size: 46px; }
  .rollout-service .rs-closing-card > .wp-block-buttons { margin-top: 4px; }
  .rollout-service .rs-closing-card > .eyebrow { margin: 0; }
  .rollout-service .rs-additional-photo { height: 290px; }
}

/* Staging only: three editorial compositions, native blocks throughout. */
.rollout-blog{background:var(--mhs-paper);color:var(--mhs-ink)}
.rollout-blog .rb-main{display:block}
.rollout-blog .rb-hero{padding-top:30px;padding-bottom:40px}
.rollout-blog .rb-breadcrumbs{font-size:14px;line-height:1.6;margin:0 0 26px;overflow-wrap:anywhere}
.rollout-blog .rb-title{min-width:0}
.rollout-blog .rb-title h1{font-size:clamp(44px,5.5vw,78px);line-height:1.04;letter-spacing:-.055em;margin:0;max-width:100%;overflow-wrap:anywhere}
.rollout-blog .rb-title .eyebrow{font-size:12px;line-height:1.5;letter-spacing:1.5px;margin-bottom:23px}
.rollout-blog .rb-deck{font-size:23px;line-height:1.55;max-width:680px;margin:25px 0}
.rollout-blog .rb-byline{font-size:14px;line-height:1.8;margin:28px 0 0;padding-top:20px;border-top:1px solid var(--mhs-line)}
.rollout-blog .rb-byline a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.rollout-blog .rb-hero-image,.rollout-blog .rb-section-image{overflow:hidden;border-radius:28px;margin:0}
.rollout-blog .rb-hero-image img,.rollout-blog .rb-section-image img{display:block;width:100%;height:100%;object-fit:cover}
.rb-folio-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:65px;align-items:center}
.rb-folio-heading .rb-hero-image{height:570px;border-radius:160px 28px 28px 28px}
.rollout-blog .rb-folio-reading{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,900px);gap:65px;align-items:start}
.rb-folio-reading .rb-contents{position:sticky;top:var(--mhs-header-offset,160px);padding:25px;border:1px solid var(--mhs-line);border-radius:22px}
.rollout-blog .rb-contents .eyebrow{font-size:12px;margin:0 0 16px}
.rollout-blog .rb-contents ul{padding:0 0 0 18px;margin:0}
.rollout-blog .rb-contents li{font-size:15px;line-height:1.65;padding-left:3px;margin:12px 0}
.rollout-blog .rb-contents a{text-decoration:underline;text-underline-offset:4px}
.rollout-blog .rb-article-copy{width:100%;max-width:900px;margin:0 auto;min-width:0}
.rollout-blog .rb-article-copy p,.rollout-blog .rb-article-copy li{font-size:20px;line-height:1.85;overflow-wrap:anywhere}
.rollout-blog .rb-article-copy p{margin:0 0 25px}
.rollout-blog .rb-article-copy .rb-intro{font-size:24px;line-height:1.7;margin-bottom:55px}
.rollout-blog .rb-chapter{margin:0 0 60px;min-width:0}
.rollout-blog .rb-chapter h2,.rollout-blog .rb-table-section h2{font-size:clamp(29px,3vw,40px);line-height:1.18;letter-spacing:-.03em;margin:0 0 25px;overflow-wrap:anywhere}
.rollout-blog .rb-section-image{aspect-ratio:3/2;margin:35px 0 0}
.rollout-blog .rb-table-section{margin:55px 0 0;min-width:0}
.rollout-blog .rb-table{background:var(--mhs-soft);border-radius:22px;padding:25px;max-width:100%;overflow-x:auto;box-sizing:border-box}
.rollout-blog .rb-table table{font-size:18px;table-layout:auto;line-height:1.7;width:100%;border-collapse:collapse}
.rollout-blog .rb-table th,.rollout-blog .rb-table td{font-size:18px!important;line-height:1.7;text-align:left!important;padding:18px 16px;border:0;border-bottom:1px solid var(--mhs-line);vertical-align:top;overflow-wrap:anywhere}
.rollout-blog .rb-table th{font-weight:700}
.rollout-blog .rb-table figcaption{font-size:14px;line-height:1.6;color:var(--mhs-ink);padding-top:20px}
.rollout-blog .rb-endnote{padding-top:0;padding-bottom:65px;max-width:1150px}
.rollout-blog .rb-back{font-size:17px;border-top:1px solid var(--mhs-line);padding-top:30px}
.rb-feature-hero .rb-hero-image{height:540px;border-radius:32px}
.rb-feature-heading{position:relative;margin:-100px 55px 0;padding:42px 55px;background:var(--mhs-panel);border-radius:28px}
.rb-feature-heading .rb-title h1{max-width:1050px}
.rollout-blog .rb-feature-reading{padding-top:0}
.rb-feature-reading .rb-contents{max-width:900px;margin:0 auto 50px;padding:25px 30px;background:var(--mhs-soft);border-radius:25px}
.rb-feature-reading .rb-contents ul{columns:2;column-gap:35px}
.rb-feature-reading .rb-contents li{break-inside:avoid}
.rb-feature-reading .rb-section-image{aspect-ratio:16/10;border-radius:100px 25px 25px 25px}
.rb-notebook-heading{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:20px;align-items:stretch}
.rb-notebook-heading .rb-hero-image{height:620px}
.rb-notebook-heading .rb-title{padding:45px;background:var(--mhs-soft);border-radius:30px;display:flex;flex-direction:column;justify-content:center}
.rollout-blog .rb-notebook-reading{padding-top:0}
.rb-notebook-reading .rb-contents{padding:25px 30px;background:var(--mhs-panel);border:1px solid var(--mhs-line);border-radius:26px;margin:0 auto 55px;max-width:1050px}
.rb-notebook-reading .rb-contents ul{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.rollout-blog .rb-notebook-reading .rb-chapter{padding-top:30px;border-top:1px solid var(--mhs-line)}
.rollout-blog .rb-chapter-number{display:inline-block;font-size:16px!important;font-weight:700;line-height:1.4!important;padding:9px 15px;background:var(--mhs-orange);color:var(--mhs-on-orange,#143e31);border-radius:50px;margin-bottom:20px!important}
.rb-notebook-reading .rb-section-image{border-radius:28px 28px 130px 28px;aspect-ratio:4/3}
@media(max-width:1000px){.rb-folio-heading{gap:30px}.rollout-blog .rb-folio-reading{grid-template-columns:190px minmax(0,1fr);gap:30px}.rb-notebook-heading .rb-title{padding:28px}.rb-notebook-heading .rb-hero-image{height:580px}.rb-feature-heading{margin-left:25px;margin-right:25px;padding:35px}}
@media(max-width:700px){.rollout-blog .rb-hero{padding-top:20px;padding-bottom:35px}.rb-folio-heading,.rb-notebook-heading{display:flex;flex-direction:column;gap:25px}.rb-folio-heading .rb-hero-image,.rb-notebook-heading .rb-hero-image{width:100%;height:370px}.rb-folio-heading .rb-hero-image{border-radius:90px 25px 25px 25px}.rollout-blog .rb-title h1{font-size:45px;letter-spacing:-.05em}.rollout-blog .rb-deck{font-size:21px}.rollout-blog .rb-byline{font-size:13px}.rollout-blog .rb-folio-reading{display:block}.rb-folio-reading .rb-contents{position:static;margin-bottom:35px}.rollout-blog .rb-article-copy p,.rollout-blog .rb-article-copy li{font-size:18px;line-height:1.85}.rollout-blog .rb-article-copy .rb-intro{font-size:21px;line-height:1.75;margin-bottom:40px}.rollout-blog .rb-chapter{margin-bottom:45px}.rollout-blog .rb-chapter h2{font-size:31px}.rb-feature-hero .rb-hero-image{height:330px}.rb-feature-heading{margin:-35px 10px 0;padding:26px 20px}.rb-feature-reading .rb-contents ul{columns:1}.rb-notebook-heading .rb-title{padding:30px 25px}.rb-notebook-reading .rb-contents ul{display:block}.rollout-blog .rb-contents li{font-size:16px}.rollout-blog .rb-contents{padding:23px!important}.rollout-blog .rb-table{padding:12px}.rollout-blog .rb-table th,.rollout-blog .rb-table td{font-size:17px!important;padding:14px 10px}}

/* Native information and legal pages. Palette follows the Reading controls. */
.rollout-info { --ri-accent-ink:#143e31; background:var(--mhs-paper,#f7f3e9); color:var(--mhs-ink,#143e31); }
.rollout-info *, .rollout-info *::before, .rollout-info *::after { box-sizing:border-box; }
.rollout-info .ri-main { max-width:1440px; margin:0 auto; padding:0 64px 64px; }
.rollout-info .ri-main :is(div,section,header,nav,figure) { min-width:0; }
.rollout-info .ri-main :is(h1,h2,h3,p,li,td,th,a) { overflow-wrap:anywhere; }
.rollout-info .ri-main h1 { font-size:clamp(50px,5.6vw,80px); line-height:1.06; letter-spacing:-.055em; font-weight:500; margin:24px 0; max-width:1100px; }
.rollout-info .ri-main h2 { font-size:clamp(32px,3.3vw,46px); line-height:1.14; letter-spacing:-.035em; font-weight:500; margin:0 0 25px; }
.rollout-info .ri-main h3 { font-size:27px; line-height:1.25; font-weight:500; margin:0 0 24px; }
.rollout-info .ri-main :is(p,li) { --mhs-reading-base:18px; font-size:18px; line-height:1.85; }
.rollout-info .ri-main p { margin:0 0 22px; }
.rollout-info .ri-main a { color:inherit; text-decoration-thickness:1px; text-underline-offset:4px; }
.rollout-info .ri-main a:focus-visible { outline:3px solid var(--mhs-ink,#143e31); outline-offset:5px; }
.rollout-info .ri-main ul,.rollout-info .ri-main ol { padding-left:25px; margin:24px 0; }
.rollout-info .ri-main li { padding-left:5px; margin:12px 0; }
.rollout-info .ri-main li :is(ul,ol) { margin:18px 0; }
.rollout-info .ri-hero { padding:35px 0 55px; }
.rollout-info .ri-main .ri-breadcrumb { --mhs-reading-base:14px; font-size:14px; margin-bottom:45px; }
.rollout-info .ri-main .ri-eyebrow { --mhs-reading-base:12px; font-size:12px; letter-spacing:.14em; line-height:1.6; }
.rollout-info .ri-main .ri-intro { --mhs-reading-base:21px; font-size:21px; line-height:1.75; max-width:960px; margin-top:30px; }
.rollout-info .ri-graphic { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:65px; }
.rollout-info .ri-graphic-cell { background:var(--mhs-soft,#e8edde); border-radius:32px; padding:30px; }
.rollout-info .ri-graphic-cell:nth-child(2) { background:var(--mhs-orange,#f48148); color:var(--ri-accent-ink,#143e31); margin-top:30px; }
.rollout-info .ri-graphic-cell:nth-child(4) { background:var(--mhs-panel,#fffdf6); margin-top:30px; }
.rollout-info .ri-main .ri-number { --mhs-reading-base:15px; font-size:15px; letter-spacing:.08em; margin-bottom:35px; }
.rollout-info .ri-graphic-cell > p:last-child { --mhs-reading-base:30px; font-size:30px; line-height:1.2; margin:0; }
.rollout-info .ri-about-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:25px; align-items:start; }
.rollout-info .ri-about-card { padding:42px; background:var(--mhs-panel,#fffdf6); border-radius:32px; }
.rollout-info .ri-about-card:nth-child(2n) { background:var(--mhs-soft,#e8edde); }
.rollout-info .ri-about-card-1 { margin-top:80px; }
.rollout-info .ri-about-card-4 { grid-column:1/-1; max-width:1000px; margin-left:auto; }
.rollout-info .ri-about-card-6 { margin-top:65px; }
.rollout-info :is(.ri-contact,.ri-coverage) { padding:45px; border-radius:32px; background:var(--mhs-soft,#e8edde); margin-top:55px; }
.rollout-info .ri-coverage { max-width:750px; background:var(--mhs-orange,#f48148); color:var(--ri-accent-ink,#143e31); }
.rollout-info .ri-contact { background:var(--mhs-panel,#fffdf6); }
.rollout-info .ri-contact p { max-width:800px; }
.rollout-info .wp-block-buttons { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.rollout-info .wp-block-button__link { background:var(--mhs-orange,#f48148); color:var(--ri-accent-ink,#143e31); border-radius:100px; padding:18px 26px; font-size:17px; text-decoration:none; white-space:normal; }
.rollout-info .ri-rate-group { margin:15px 0 65px; }
.rollout-info .ri-rate-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.rollout-info .ri-rate-card { background:var(--mhs-panel,#fffdf6); border-radius:30px; padding:30px; }
.rollout-info .ri-rate-card:nth-child(2) { background:var(--mhs-soft,#e8edde); }
.rollout-info .wp-block-table { max-width:100%; margin:20px 0; overflow:auto; -webkit-overflow-scrolling:touch; }
.rollout-info table { border-collapse:collapse; width:100%; table-layout:fixed; }
.rollout-info :is(td,th) { --mhs-reading-base:16px; font-size:16px; text-align:left; padding:16px 10px; border-bottom:1px solid var(--mhs-line,#b6c1b5); line-height:1.6; vertical-align:top; }
.rollout-info th { font-weight:600; }
.rollout-info figcaption { font-size:14px; line-height:1.6; margin-top:15px; }
.rollout-info .ri-minimum { border-left:4px solid var(--mhs-orange,#f48148); margin-top:24px; padding:8px 24px; }
.rollout-info .ri-minimum p { margin:0; }
.rollout-info .ri-conditions { background:var(--mhs-panel,#fffdf6); border-radius:32px; padding:42px; }
.rollout-info .ri-conditions li { margin-bottom:25px; }
.rollout-info.ri-legal .ri-main { max-width:1128px; }
.rollout-info.ri-legal .ri-hero { padding-bottom:30px; }
.rollout-info .ri-toc { background:var(--mhs-soft,#e8edde); border-radius:30px; padding:35px; margin-bottom:45px; }
.rollout-info .ri-toc h2 { font-size:30px; }
.rollout-info .ri-toc ul { columns:2; column-gap:35px; margin-bottom:0; }
.rollout-info .ri-toc li { --mhs-reading-base:16px; font-size:16px; line-height:1.65; break-inside:avoid; margin-top:0; margin-bottom:15px; }
.rollout-info .ri-legal-body { max-width:1000px; }
.rollout-info .ri-legal-section { padding:20px 0 32px; scroll-margin-top:calc(var(--mhs-header-offset,180px) + 25px); }
.rollout-info .ri-legal-section + .ri-legal-section { border-top:1px solid var(--mhs-line,#b6c1b5); padding-top:40px; }
.rollout-info .ri-legal-section h2 { font-size:32px; line-height:1.25; }
.rollout-info .ri-legal-section :is(p,li) { --mhs-reading-base:19px; font-size:19px; line-height:1.85; }
.rollout-info .ri-legal-section table { min-width:620px; }
html:is([data-reading-size="1.5"],[data-reading-size="1.6"],[data-reading-size="1.7"],[data-reading-size="1.8"],[data-reading-size="1.9"],[data-reading-size="2"]) .rollout-info :is(.ri-graphic,.ri-about-grid,.ri-rate-pair) { grid-template-columns:minmax(0,1fr); }
html:is([data-reading-size="1.5"],[data-reading-size="1.6"],[data-reading-size="1.7"],[data-reading-size="1.8"],[data-reading-size="1.9"],[data-reading-size="2"]) .rollout-info :is(.ri-about-card,.ri-graphic-cell) { margin:0; grid-column:auto; max-width:none; }
html:is([data-reading-size="1.5"],[data-reading-size="1.6"],[data-reading-size="1.7"],[data-reading-size="1.8"],[data-reading-size="1.9"],[data-reading-size="2"]) .rollout-info .ri-toc ul { columns:1; }
@media(max-width:1000px) {
 .rollout-info .ri-main { padding:0 32px 45px; }
 .rollout-info :is(.ri-about-card,.ri-conditions) { padding:30px; }
 .rollout-info .ri-graphic-cell { padding:25px; }
 .rollout-info .ri-rate-pair { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:700px) {
 .rollout-info .ri-main { padding:0 18px 40px; }
 .rollout-info .ri-hero { padding-top:25px; padding-bottom:30px; }
 .rollout-info .ri-main h1 { font-size:clamp(42px,12.4vw,52px); }
 .rollout-info .ri-main h2 { font-size:34px; }
 .rollout-info .ri-main .ri-intro { --mhs-reading-base:18px; font-size:18px; }
 .rollout-info .ri-main .ri-breadcrumb { margin-bottom:30px; }
 .rollout-info :is(.ri-about-grid,.ri-rate-pair) { grid-template-columns:minmax(0,1fr); gap:20px; }
 .rollout-info .ri-graphic { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:35px; }
 .rollout-info .ri-graphic-cell { margin:0!important; padding:25px 20px; border-radius:24px; }
 .rollout-info .ri-main .ri-number { margin-bottom:25px; }
 .rollout-info .ri-graphic-cell > p:last-child { --mhs-reading-base:25px; font-size:25px; }
 .rollout-info .ri-about-card { margin:0; grid-column:auto; padding:30px 26px; border-radius:26px; }
 .rollout-info :is(.ri-contact,.ri-coverage,.ri-conditions,.ri-toc) { padding:30px 25px; border-radius:26px; margin-top:30px; }
 .rollout-info .ri-rate-card { padding:28px 21px; border-radius:26px; }
 .rollout-info .ri-rate-group { margin-bottom:45px; }
 .rollout-info .ri-rate-card table { min-width:520px; }
 .rollout-info .ri-minimum { padding-left:18px; }
 .rollout-info .ri-toc ul { columns:1; }
 .rollout-info .ri-legal-section h2 { font-size:29px; }
 .rollout-info .ri-legal-section :is(p,li) { --mhs-reading-base:18px; font-size:18px; }
 .rollout-info .ri-legal-section { padding-bottom:20px; }
}

/* Native inherited WordPress archives. Load after homepage/pilot CSS. */
.rollout-archive{background:var(--mhs-paper);color:var(--mhs-ink)}
.rollout-archive .ra-main{display:block}
.rollout-archive .ra-archive-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:stretch;padding-top:35px;padding-bottom:35px}
.ra-hero-copy{min-width:0;padding:25px 0}
.rollout-archive .ra-hero-copy h1{font-size:clamp(50px,6vw,84px);line-height:1.02;letter-spacing:-.06em;margin:0;overflow-wrap:anywhere}
.rollout-archive .ra-hero-copy .eyebrow{font-size:12px;margin-bottom:24px}
.rollout-archive .ra-deck{font-size:23px;line-height:1.7;max-width:730px;margin:25px 0 0;overflow-wrap:anywhere}
.ra-hero-note{padding:35px;background:var(--mhs-soft);border-radius:30px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.rollout-archive .ra-hero-note .eyebrow{font-size:12px;margin:0 0 25px}
.rollout-archive .ra-note-display{font-size:36px;font-weight:600;line-height:1.1;letter-spacing:-.03em;margin:0 0 22px;overflow-wrap:anywhere}
.rollout-archive .ra-hero-note p:last-child{font-size:17px;line-height:1.8;margin:0}
.rollout-archive .ra-listing{padding-top:0;padding-bottom:75px}
.ra-category-links{display:flex;gap:10px;flex-wrap:wrap;padding:5px 0 35px;margin:0}
.rollout-archive .ra-category-links .wp-block-button__link{background:var(--mhs-panel)!important;color:var(--mhs-ink)!important;border:1px solid var(--mhs-line);font-size:15px;line-height:1.5;padding:12px 20px;min-height:46px;overflow-wrap:anywhere}
body.blog .ra-all .wp-block-button__link,body.category-handyman-and-builders .ra-builders .wp-block-button__link,body.category-handyman-in-london .ra-london .wp-block-button__link{background:var(--mhs-soft)!important;color:var(--mhs-ink)!important;border-color:var(--mhs-ink)!important}
.rollout-archive .ra-post-list{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:30px;list-style:none;padding:0;margin:0;align-items:start}
.rollout-archive .ra-post-list>li{list-style:none;min-width:0;padding:0;margin:0}
.rollout-archive .ra-post-list>li:nth-child(2){padding-top:65px}
.ra-post-card{border-radius:30px;overflow:hidden;background:var(--mhs-soft);min-width:0}
.ra-post-list>li:nth-child(2) .ra-post-card{background:var(--mhs-panel);border:1px solid var(--mhs-line)}
.rollout-archive .ra-post-image{height:350px;margin:0;overflow:hidden}
.rollout-archive .ra-post-list>li:nth-child(2) .ra-post-image{height:280px}
.ra-post-image a{display:block;width:100%;height:100%}
.ra-post-image img{display:block;width:100%;height:100%;object-fit:cover}
.ra-card-copy{padding:32px;min-width:0}
.ra-post-meta{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;margin:0 0 20px}
.rollout-archive .ra-post-meta>*{font-size:14px;line-height:1.6;margin:0}
.rollout-archive .ra-card-copy h2{font-size:clamp(29px,3.1vw,43px);line-height:1.15;letter-spacing:-.035em;margin:0 0 22px;overflow-wrap:anywhere}
.ra-card-copy h2 a{text-decoration:none}
.ra-card-copy h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.rollout-archive .ra-card-copy .wp-block-post-excerpt__excerpt{font-size:19px;line-height:1.85;margin:0 0 26px;overflow-wrap:anywhere}
.rollout-archive .ra-card-copy .wp-block-read-more{display:inline-block;font-size:17px;line-height:1.6;font-weight:600;text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.rollout-archive .ra-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:55px;padding-top:28px;border-top:1px solid var(--mhs-line);font-size:16px;line-height:1.6}
.ra-pagination .wp-block-query-pagination-numbers{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ra-pagination .page-numbers{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;border:1px solid var(--mhs-line);border-radius:50%;padding:5px;box-sizing:border-box}
.ra-pagination .page-numbers.current{background:var(--mhs-ink);color:var(--mhs-paper)!important}
.ra-pagination .page-numbers.dots{border-color:transparent}
.ra-pagination a{text-underline-offset:4px}
.ra-query .wp-block-query-no-results{padding:30px;background:var(--mhs-soft);border-radius:25px}
.ra-query .wp-block-query-no-results p{font-size:19px;line-height:1.8}
.rollout-archive :is(a,button):focus-visible{outline:3px solid var(--mhs-ink);outline-offset:4px}
@media(max-width:1000px){.rollout-archive .ra-archive-hero{gap:25px}.ra-hero-note{padding:28px}.rollout-archive .ra-note-display{font-size:31px}.ra-card-copy{padding:28px}.rollout-archive .ra-post-list{gap:20px}}
@media(max-width:700px){.rollout-archive .ra-archive-hero{display:block;padding-top:20px}.ra-hero-copy{padding:0}.rollout-archive .ra-hero-copy h1{font-size:51px}.rollout-archive .ra-deck{font-size:21px}.ra-hero-note{margin-top:25px;padding:26px}.rollout-archive .ra-note-display{font-size:31px}.rollout-archive .ra-hero-note .eyebrow{margin-bottom:17px}.ra-category-links{gap:8px;padding-bottom:25px}.rollout-archive .ra-category-links .wp-block-button__link{padding:10px 15px;font-size:14px}.rollout-archive .ra-post-list{display:block}.rollout-archive .ra-post-list>li{margin-bottom:22px}.rollout-archive .ra-post-list>li:nth-child(2){padding-top:0}.rollout-archive .ra-post-image,.rollout-archive .ra-post-list>li:nth-child(2) .ra-post-image{height:275px}.ra-card-copy{padding:26px}.rollout-archive .ra-card-copy h2{font-size:33px}.rollout-archive .ra-card-copy .wp-block-post-excerpt__excerpt{font-size:18px}.rollout-archive .ra-pagination{gap:15px;justify-content:center}.ra-pagination .wp-block-query-pagination-numbers{order:3;flex-basis:100%;justify-content:center}.rollout-archive .ra-listing{padding-bottom:50px}}

/* Contact page layout. Enqueue alongside form-integration/contact-form.css. */
.rollout-contact{background:var(--mhs-paper,#f7f3e9);color:var(--mhs-ink,#143e31)}
.rollout-contact *{box-sizing:border-box}
.rollout-contact .rc-main{max-width:1440px;margin:auto;padding:36px 64px 80px}
.rollout-contact :is(h1,h2,h3,p,li,a){overflow-wrap:anywhere}
.rollout-contact h1{font-size:clamp(52px,6.5vw,88px);line-height:1.04;letter-spacing:-.055em;font-weight:500;margin:22px 0;max-width:950px}
.rollout-contact h2{font-size:clamp(30px,3.4vw,42px);line-height:1.15;letter-spacing:-.035em;font-weight:500;margin:0 0 22px}
.rollout-contact h3{font-size:28px;line-height:1.25;font-weight:500;margin:0 0 20px}
.rollout-contact :is(p,li){--mhs-reading-base:18px;font-size:18px;line-height:1.75}
.rollout-contact p{margin:0 0 22px}
.rollout-contact a{color:inherit;text-underline-offset:4px}
.rollout-contact a:focus-visible{outline:3px solid #f48148;outline-offset:5px}
.rollout-contact .rc-breadcrumb{font-size:16px;margin-bottom:40px}
.rollout-contact .rc-eyebrow{font-size:14px;letter-spacing:.15em;font-weight:600}
.rollout-contact .rc-intro{font-size:22px;line-height:1.65;max-width:850px}
.rollout-contact .rc-hero{padding:15px 0 35px}
.rollout-contact .rc-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start}
.rollout-contact :is(.rc-form-card,.rc-call-card,.rc-details-card){border-radius:30px;padding:36px;min-width:0}
.rollout-contact .rc-form-card{background:var(--mhs-surface,#fffdf7);border:1px solid #c8cfc3}
.rollout-contact .rc-sidebar{display:grid;gap:24px;min-width:0}
.rollout-contact .rc-call-card{background:#143e31;color:#fffdf7}
.rollout-contact .rc-call-card a{display:inline-block;background:#f48148;color:#143e31;border-radius:999px;padding:13px 25px;text-decoration:none;font-size:18px}
.rollout-contact .rc-details-card{background:#e9eddf}
.rollout-contact .rc-details-card ul{padding-left:22px;margin:0 0 24px}
.rollout-contact .rc-details-card li{margin-bottom:13px}
@media(max-width:900px){.rollout-contact .rc-main{padding:24px 28px 56px}.rollout-contact .rc-layout{grid-template-columns:1fr}.rollout-contact .rc-sidebar{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.rollout-contact .rc-main{padding:20px 16px 40px}.rollout-contact .rc-sidebar{grid-template-columns:1fr}.rollout-contact :is(.rc-form-card,.rc-call-card,.rc-details-card){padding:26px 22px;border-radius:24px}.rollout-contact .rc-intro{font-size:20px}.rollout-contact .rc-breadcrumb{margin-bottom:26px}}

/* Contact page only, after Gravity Forms' native Orbital assets. */
.mhs-contact-form {
 --gf-color-primary:#143e31;
 --gf-color-primary-rgb:20,62,49;
 --gf-color-primary-contrast:#f7f3e9;
 --gf-ctrl-font-size:18px;
 --gf-ctrl-placeholder-font-size:18px;
 --gf-ctrl-label-font-size-primary:18px;
 --gf-ctrl-label-color-primary:#143e31;
 --gf-ctrl-label-color-secondary:#143e31;
 --gf-ctrl-label-color-req:#a83b18;
 --gf-ctrl-desc-font-size:16px;
 --gf-ctrl-desc-font-size-error:16px;
 --gf-ctrl-radius:16px;
 --gf-ctrl-textarea-radius:16px;
 --gf-ctrl-border-color:#6b8477;
 --gf-ctrl-border-color-focus:#143e31;
 --gf-ctrl-bg-color:#fffdf7;
 --gf-ctrl-btn-font-size:18px;
 --gf-ctrl-btn-radius:999px;
 --gf-ctrl-btn-bg-color-primary:#f48148;
 --gf-ctrl-btn-color-primary:#143e31;
 --gf-form-validation-font-size:17px;
 --gf-form-validation-heading-font-size:21px;
 --gf-form-validation-summary-font-size:17px;
 font-family:Arial,sans-serif;
 color:#143e31;
}
.mhs-contact-form .gform_fields {column-gap:24px;row-gap:26px;}
.mhs-contact-form .gfield {min-width:0;}
.mhs-contact-form .gfield_label {font-size:18px;font-weight:600;line-height:1.6;}
.mhs-contact-form :is(input[type="text"],input[type="email"],input[type="tel"],textarea,select) {
 box-sizing:border-box;width:100%;font-size:18px;line-height:1.6;min-height:58px;padding:14px 17px;border:1px solid #6b8477;border-radius:16px;background:#fffdf7;color:#143e31;
}
.mhs-contact-form textarea {min-height:180px;resize:vertical;}
.mhs-contact-form :is(input,textarea,select,button,a):focus-visible {outline:3px solid #143e31;outline-offset:4px;}
.mhs-contact-form .gchoice {display:flex;align-items:flex-start;gap:12px;}
.mhs-contact-form .gchoice input[type="checkbox"] {flex:0 0 24px;width:24px;height:24px;margin-top:4px;}
.mhs-contact-form .gchoice label {font-size:18px;line-height:1.7;color:#143e31;}
.mhs-contact-form .gchoice a {color:#143e31;text-decoration:underline;text-underline-offset:4px;}
.mhs-contact-form .gform_footer {margin-top:30px;}
.mhs-contact-form .gform_button {min-height:58px;padding:18px 28px;font-size:18px;line-height:1.4;border:0;border-radius:999px;background:#f48148;color:#143e31;cursor:pointer;}
.mhs-contact-form .gform_button:hover {background:#143e31;color:#f7f3e9;}
.mhs-contact-form .gfield_validation_message {font-size:16px;line-height:1.6;}
.mhs-contact-form .gform_validation_errors {padding:22px;border:2px solid #a83b18;border-radius:18px;background:#fff4ec;color:#74280f;}
.mhs-contact-form .gform_validation_errors :is(h2,p,li) {color:#74280f;}
.mhs-contact-form.gform_confirmation_wrapper {padding:26px;border-radius:22px;background:#e8edde;font-size:20px;line-height:1.8;}
@media(max-width:700px){
 .mhs-contact-form .gform_fields {row-gap:23px;}
 .mhs-contact-form .gfield {grid-column:1/-1;}
 .mhs-contact-form .gform_button {width:100%;}
 .mhs-contact-form .gchoice label {font-size:18px;}
}

/* Shared navigation retains the approved header palette and proportions. */
.homepage-enriched .desktop-nav{display:flex;align-items:center;gap:22px}
.homepage-enriched .desktop-nav p{margin:0;font-size:16px;white-space:nowrap}
.homepage-enriched .site-header .services-menu{display:block;position:relative;margin:0;font-size:16px}
.homepage-enriched .services-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}
.homepage-enriched .services-menu summary::after{content:'⌄';font-size:18px}
.homepage-enriched .services-menu summary::-webkit-details-marker{display:none}
.homepage-enriched .services-menu>.service-links{position:absolute;top:100%;left:-24px;width:560px;max-height:65vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:20px 24px;background:var(--mhs-paper,#f7f3e9);color:var(--mhs-ink,#143e31);border:1px solid var(--mhs-line,#b6c1b5);border-radius:22px;box-shadow:0 14px 30px #143e3120;z-index:30}
.homepage-enriched .service-links p{white-space:normal;font-size:15px;line-height:1.4;margin:0}
.homepage-enriched .service-links a{display:flex;align-items:center;min-height:44px;padding:7px 0}
.homepage-enriched .mobile-site-menu{display:none}
.homepage-enriched .mobile-site-menu .mobile-links{display:grid;gap:4px}
.homepage-enriched .mobile-links p{font-size:17px;margin:0}
.homepage-enriched .mobile-links a{display:block;padding:10px 0;min-height:44px}
.homepage-enriched .mobile-links .mobile-services{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;border-block:1px solid var(--mhs-line);padding:14px 0;margin:10px 0}
.homepage-enriched .mobile-services p{font-size:15px;line-height:1.4}
.homepage-enriched .site-header a:focus-visible,.homepage-enriched .site-header summary:focus-visible{outline:3px solid currentColor;outline-offset:3px;border-radius:4px}
@media(max-width:1150px){.homepage-enriched .desktop-nav{gap:14px}.homepage-enriched .desktop-nav p,.homepage-enriched .site-header .services-menu{font-size:15px}.homepage-enriched .site-header{gap:14px}.homepage-enriched .brand-new{max-width:260px}}
@media(max-width:1000px){.homepage-enriched .desktop-nav,.homepage-enriched .site-header>.wp-block-buttons{display:none}.homepage-enriched .site-header .mobile-site-menu{display:block}.homepage-enriched .mobile-site-menu[open]{width:100%;order:4}.homepage-enriched .mobile-site-menu[open] summary{text-align:right}.homepage-enriched .mobile-site-menu{margin-left:auto}.homepage-enriched .site-header{flex-wrap:wrap}.homepage-enriched .mhs-reading-settings{margin-left:auto}.homepage-enriched .mobile-site-menu summary{min-height:44px;padding:10px 0;cursor:pointer}}
@media(max-width:400px){.homepage-enriched .mobile-links .mobile-services{grid-template-columns:1fr}}
html:not([data-display-mode="light"])[data-display-mode] .assembly-combine-inner>div{background:var(--mhs-panel)!important;color:var(--mhs-ink)!important}
html:not([data-display-mode="light"])[data-display-mode] .rollout-contact :is(.rc-form-card,.rc-details-card){background:var(--mhs-panel);color:var(--mhs-ink)}
.homepage-enriched .site-header details.services-menu{border:0;padding:0;background:transparent}.homepage-enriched .services-menu summary::after{content:"+";font-size:21px;font-weight:400;line-height:1}.homepage-enriched .services-menu[open] summary::after{content:"−"}.homepage-enriched .services-menu summary{border:0;text-decoration:none}
@media(max-width:1000px){.homepage-enriched .mobile-site-menu .mobile-links{max-height:calc(100svh - 200px);overflow-y:auto;overscroll-behavior:contain;padding-right:8px}.homepage-enriched .mobile-site-menu summary::after{content:"+";font-size:21px;margin-left:8px;line-height:1}.homepage-enriched .mobile-site-menu[open] summary::after{content:"−"}}
.mhs-inherited-main{max-width:1312px;margin:0 auto;padding:48px 28px;min-height:50vh}
