/* Variant A: Direct Contractor Authority. Generic contractor_conversion grammar. */
html[data-theme="contractor_conversion"] { background:#f4f5f2; color:#172c36; }
html[data-theme="contractor_conversion"] body { background:#f4f5f2; color:#172c36; }
html[data-theme="contractor_conversion"] a { color:#15576b; }
html[data-theme="contractor_conversion"] a:hover { color:#9c3e22; }
html[data-theme="contractor_conversion"] .site-header {
  width:100%; max-width:none; margin:0; padding:1rem max(1.25rem, calc((100vw - 76rem)/2));
  background:#142b36; color:#fff; border-bottom:4px solid #de6940;
  display:grid; grid-template-columns:minmax(12rem,1fr) auto auto; gap:1rem 2rem; align-items:center;
}
html[data-theme="contractor_conversion"] .site-brand { color:#fff; font-size:1.08rem; line-height:1.2; letter-spacing:.045em; text-transform:uppercase; max-width:18ch; }
html[data-theme="contractor_conversion"] .site-header nav ul { gap:.2rem 1.15rem; align-items:center; }
html[data-theme="contractor_conversion"] .site-header nav a { color:#ecf3f3; font-size:.87rem; font-weight:700; text-decoration:none; }
html[data-theme="contractor_conversion"] .site-header nav a:hover,
html[data-theme="contractor_conversion"] .site-header nav a[aria-current="page"] { color:#ffd4bd; }
html[data-theme="contractor_conversion"] .site-header__actions { display:flex; align-items:center; gap:.55rem; }
html[data-theme="contractor_conversion"] .site-header__actions .cta { white-space:nowrap; min-height:2.8rem; padding:.6rem .9rem; font-size:.8rem; }
html[data-theme="contractor_conversion"] .site-header__actions .cta--secondary { background:transparent; border-color:#b9cdd2; color:#fff; }
html[data-theme="contractor_conversion"] .site-header__actions .cta--primary { background:#de6940; color:#172c36; }
html[data-theme="contractor_conversion"] main { width:min(calc(100% - 2.5rem),76rem); }
html[data-theme="contractor_conversion"] h1,
html[data-theme="contractor_conversion"] h2,
html[data-theme="contractor_conversion"] h3 { font-family:Arial,Helvetica,sans-serif; font-weight:800; line-height:1.08; }
html[data-theme="contractor_conversion"] h1 { font-size:clamp(2.45rem,4.9vw,4.6rem); letter-spacing:-.048em; max-width:13ch; }
html[data-theme="contractor_conversion"] h2 { font-size:clamp(1.8rem,3.1vw,2.8rem); letter-spacing:-.035em; max-width:25ch; }
html[data-theme="contractor_conversion"] h3 { font-size:clamp(1.2rem,1.6vw,1.5rem); }
html[data-theme="contractor_conversion"] p,
html[data-theme="contractor_conversion"] li { line-height:1.65; }
html[data-theme="contractor_conversion"] .page-hero { max-width:none; padding:0; margin:1.5rem 0 0; background:#1b3946; color:#fff; overflow:hidden; }
html[data-theme="contractor_conversion"] .page-hero--split { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:0; align-items:stretch; }
html[data-theme="contractor_conversion"] .page-hero__content { padding:clamp(2rem,4vw,4.2rem); align-self:center; }
html[data-theme="contractor_conversion"] .page-hero__eyebrow { color:#ffad83; font-size:.76rem; text-transform:uppercase; letter-spacing:.16em; font-weight:800; }
html[data-theme="contractor_conversion"] .page-hero__lede { color:#e4eded; font-size:1.12rem; max-width:58ch; }
html[data-theme="contractor_conversion"] .page-hero__checklist { display:grid; gap:.45rem; padding:0; list-style:none; }
html[data-theme="contractor_conversion"] .page-hero__checklist li { max-width:none; padding-left:1.7rem; position:relative; font-size:.95rem; }
html[data-theme="contractor_conversion"] .page-hero__checklist li::before { content:'✓'; position:absolute; left:0; color:#ffad83; font-weight:900; }
html[data-theme="contractor_conversion"] .page-hero__media { min-height:26rem; }
html[data-theme="contractor_conversion"] .page-hero__media img { width:100%; height:100%; min-height:26rem; object-fit:cover; border-radius:0; }
html[data-theme="contractor_conversion"] .page-hero .cta--secondary { color:#fff; border-color:#fff; background:transparent; }
html[data-theme="contractor_conversion"] .content-section { padding:clamp(2.8rem,4vw,4.8rem) clamp(1.3rem,3vw,3rem); }
html[data-theme="contractor_conversion"] .content-section + .content-section { border-top:0; }
html[data-theme="contractor_conversion"] .content-section--alt { background:#e6eceb; }
html[data-theme="contractor_conversion"] .content-section[data-block-type="RICH_TEXT"] > p { max-width:72ch; }
html[data-theme="contractor_conversion"] .content-section[data-block-type="RICH_TEXT"] > p:first-of-type { font-size:1.08rem; }
html[data-theme="contractor_conversion"] .content-section > h2 { padding-left:1.15rem; border-left:5px solid #de6940; margin-bottom:1.2rem; }
html[data-theme="contractor_conversion"] .cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; }
html[data-theme="contractor_conversion"] .card { padding:1.6rem; border:1px solid #c9d4d6; border-top:5px solid #de6940; border-radius:0; box-shadow:0 10px 22px rgba(15,42,54,.06); background:#fff; }
html[data-theme="contractor_conversion"] .card p { font-size:.96rem; }
html[data-theme="contractor_conversion"] .card a,
html[data-theme="contractor_conversion"] .link-list a { font-weight:800; text-underline-offset:.28em; }
html[data-theme="contractor_conversion"] .cta,
html[data-theme="contractor_conversion"] button[type="submit"] { border-radius:0; min-height:3.15rem; padding:.8rem 1.25rem; font-weight:800; letter-spacing:.025em; text-transform:uppercase; font-size:.84rem; }
html[data-theme="contractor_conversion"] .cta--primary,
html[data-theme="contractor_conversion"] button[type="submit"] { background:#de6940; color:#172c36; }
html[data-theme="contractor_conversion"] .cta--primary:hover,
html[data-theme="contractor_conversion"] button[type="submit"]:hover { background:#f39a6d; color:#172c36; }
html[data-theme="contractor_conversion"] .cta--secondary { background:transparent; color:#173b4b; border-color:#173b4b; }
html[data-theme="contractor_conversion"] .cta-band { background:#203f4c; color:#fff; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.5rem 2rem; align-items:center; margin-block:.55rem; }
html[data-theme="contractor_conversion"] .cta-band h2 { color:#fff; margin-bottom:0; }
html[data-theme="contractor_conversion"] .cta-band p { color:#e5eeef; margin:0; }
html[data-theme="contractor_conversion"] .cta-band .cta-group { grid-column:2; grid-row:1 / span 2; justify-content:flex-end; }
html[data-theme="contractor_conversion"] .cta-band .cta--secondary { color:#fff; border-color:#fff; }
html[data-theme="contractor_conversion"] .image-band { padding:0; position:relative; }
html[data-theme="contractor_conversion"] .image-band img { width:100%; max-height:32rem; object-fit:cover; border-radius:0; }
html[data-theme="contractor_conversion"] .image-band h2 { position:relative; margin:0; padding:1.5rem 2rem; border:0; background:#e6eceb; max-width:none; }
html[data-theme="contractor_conversion"] .image-caption { padding:.5rem 1rem; }
html[data-theme="contractor_conversion"] .process-steps ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:0; list-style:none; counter-reset:step; }
html[data-theme="contractor_conversion"] .process-steps li { counter-increment:step; padding:1.25rem; background:#fff; border:1px solid #c9d4d6; border-bottom:4px solid #de6940; }
html[data-theme="contractor_conversion"] .process-steps li::before { content:counter(step,decimal-leading-zero); display:block; color:#b45331; font-weight:900; font-size:1.65rem; line-height:1; margin-bottom:.8rem; }
html[data-theme="contractor_conversion"] .faq { background:#e6eceb; }
html[data-theme="contractor_conversion"] .faq-item { background:#fff; border:1px solid #c9d4d6; border-left:4px solid #de6940; padding:1.3rem 1.5rem; margin-top:.75rem; }
html[data-theme="contractor_conversion"] .faq-item h3 { margin-bottom:.4rem; }
html[data-theme="contractor_conversion"] .faq-item p { margin-block:.4rem; }
html[data-theme="contractor_conversion"] .link-list ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1.5rem; padding:0; list-style:none; }
html[data-theme="contractor_conversion"] .link-list li { max-width:none; border-bottom:1px solid #b7c7c9; padding:.55rem 0; }
html[data-theme="contractor_conversion"] .form-split { grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:2rem; background:#e6eceb; }
html[data-theme="contractor_conversion"] .form-split__form { background:#fff; border-top:5px solid #de6940; padding:clamp(1.2rem,3vw,2rem); box-shadow:0 14px 32px rgba(15,42,54,.1); }
html[data-theme="contractor_conversion"] .form-split__form h2 { border:0; padding:0; font-size:1.7rem; }
html[data-theme="contractor_conversion"] .form-field { margin-block:.8rem; }
html[data-theme="contractor_conversion"] input,
html[data-theme="contractor_conversion"] select,
html[data-theme="contractor_conversion"] textarea { border-radius:0; border:1px solid #8fa3a7; background:#fbfcfb; }
html[data-theme="contractor_conversion"] .site-footer { width:100%; max-width:none; margin:0; padding:3.5rem max(1.25rem,calc((100vw - 76rem)/2)); background:#142b36; color:#dce9ea; border-top:5px solid #de6940; }
html[data-theme="contractor_conversion"] .site-footer__groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); gap:2rem; }
html[data-theme="contractor_conversion"] .site-footer h2 { color:#fff; font-size:1rem; text-transform:uppercase; letter-spacing:.08em; }
html[data-theme="contractor_conversion"] .site-footer nav ul { display:grid; gap:.55rem; }
html[data-theme="contractor_conversion"] .site-footer a { color:#dce9ea; font-size:.9rem; }
html[data-theme="contractor_conversion"] .site-footer__copyright { max-width:none; border-top:1px solid #46616c; padding-top:1.4rem; margin-top:2.5rem; font-size:.84rem; }
@media(max-width:1050px) {
  html[data-theme="contractor_conversion"] .site-header { grid-template-columns:1fr auto; }
  html[data-theme="contractor_conversion"] .site-header nav { grid-column:1 / -1; grid-row:2; }
  html[data-theme="contractor_conversion"] .cards,
  html[data-theme="contractor_conversion"] .process-steps ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
  html[data-theme="contractor_conversion"] .site-header { padding:.95rem 1rem; gap:.85rem; }
  html[data-theme="contractor_conversion"] .site-brand { font-size:.87rem; }
  html[data-theme="contractor_conversion"] .site-header__actions { gap:.3rem; }
  html[data-theme="contractor_conversion"] .site-header__actions .cta { font-size:.69rem; min-height:2.5rem; padding:.45rem .55rem; width:auto; }
  html[data-theme="contractor_conversion"] .site-header nav { width:100%; overflow-x:auto; }
  html[data-theme="contractor_conversion"] .site-header nav ul { width:max-content; flex-wrap:nowrap; gap:1rem; padding-bottom:.25rem; }
  html[data-theme="contractor_conversion"] .site-header nav a { white-space:nowrap; font-size:.78rem; }
  html[data-theme="contractor_conversion"] main { width:100%; }
  html[data-theme="contractor_conversion"] .page-hero { margin-top:0; }
  html[data-theme="contractor_conversion"] .page-hero--split { grid-template-columns:1fr; }
  html[data-theme="contractor_conversion"] .page-hero__content { padding:2rem 1.25rem; }
  html[data-theme="contractor_conversion"] .page-hero__media,
  html[data-theme="contractor_conversion"] .page-hero__media img { min-height:0; height:13rem; }
  html[data-theme="contractor_conversion"] .content-section { padding:2.3rem 1.25rem; }
  html[data-theme="contractor_conversion"] .cards,
  html[data-theme="contractor_conversion"] .process-steps ol,
  html[data-theme="contractor_conversion"] .link-list ul,
  html[data-theme="contractor_conversion"] .form-split { grid-template-columns:1fr; }
  html[data-theme="contractor_conversion"] .cta-band { display:block; }
  html[data-theme="contractor_conversion"] .cta-band .cta-group { margin-top:1rem; justify-content:flex-start; }
  html[data-theme="contractor_conversion"] .site-footer { padding:2.6rem 1.25rem; }
}

/* SITE-003 targeted visual calibration round 2.
   Generic contractor_conversion corrections only; no route-specific rules. */
html[data-theme="contractor_conversion"] {
  --rr-r2-space-1: .5rem;
  --rr-r2-space-2: .85rem;
  --rr-r2-space-3: 1.25rem;
  --rr-r2-space-4: 1.75rem;
  --rr-r2-space-5: 2.5rem;
  --rr-r2-space-6: 3.25rem;
}

/* Header: reserved brand and action zones, plus an intentional navigation row. */
html[data-theme="contractor_conversion"] .site-header {
  grid-template-columns: minmax(15rem, 1fr) auto;
  grid-template-areas:
    "brand actions"
    "navigation navigation";
  gap: var(--rr-r2-space-2) var(--rr-r2-space-4);
  padding-block: .85rem .75rem;
}
html[data-theme="contractor_conversion"] .site-brand {
  grid-area: brand;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  width: fit-content;
  max-width: 24rem;
}
html[data-theme="contractor_conversion"] .site-brand__mark {
  width: 3.1rem;
  height: 3.1rem;
  flex: 0 0 3.1rem;
  object-fit: contain;
  padding: .28rem;
  background: #eef4f3;
  border-radius: .35rem;
}
html[data-theme="contractor_conversion"] .site-brand__name {
  display: block;
  max-width: 19ch;
}
html[data-theme="contractor_conversion"] .site-header > nav {
  grid-area: navigation;
  min-width: 0;
  padding-top: .7rem;
  border-top: 1px solid rgba(220, 233, 234, .24);
}
html[data-theme="contractor_conversion"] .site-header > nav > ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .35rem 1.5rem;
}
html[data-theme="contractor_conversion"] .site-header > nav > ul > li {
  position: relative;
  flex: 0 0 auto;
}
html[data-theme="contractor_conversion"] .site-header > nav > ul > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
}
html[data-theme="contractor_conversion"] .site-header > nav > ul > li[data-has-children="true"] > a::after {
  content: "▾";
  margin-left: .42rem;
  color: #ffad83;
  font-size: .72em;
}
html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] {
  position: absolute;
  z-index: 10;
  left: -.8rem;
  top: calc(100% - .05rem);
  display: grid;
  width: max-content;
  min-width: 15rem;
  max-width: min(24rem, calc(100vw - 2rem));
  gap: 0;
  padding: .55rem;
  background: #fff;
  border: 1px solid #b9cdd2;
  box-shadow: 0 14px 28px rgba(8, 27, 35, .2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(.35rem);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}
html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] a {
  display: block;
  padding: .58rem .7rem;
  color: #173b4b;
  line-height: 1.25;
}
html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] a:hover,
html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] a:focus-visible,
html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] a[aria-current="page"] {
  color: #8b351d;
  background: #f2f5f4;
}
html[data-theme="contractor_conversion"] .site-header > nav li[data-has-children="true"]:hover > ul,
html[data-theme="contractor_conversion"] .site-header > nav li[data-has-children="true"]:focus-within > ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
html[data-theme="contractor_conversion"] .site-header__actions {
  grid-area: actions;
  justify-self: end;
  flex-wrap: nowrap;
}

/* Tighter, repeatable desktop rhythm. */
html[data-theme="contractor_conversion"] .page-hero {
  margin-top: var(--rr-r2-space-3);
}
html[data-theme="contractor_conversion"] .page-hero__content {
  padding: clamp(2rem, 3.2vw, 3.25rem);
}
html[data-theme="contractor_conversion"] .content-section {
  padding: clamp(2rem, 3vw, 3.25rem) clamp(1.3rem, 3vw, 3rem);
}
html[data-theme="contractor_conversion"] .content-section > :first-child {
  margin-top: 0;
}
html[data-theme="contractor_conversion"] .content-section > :last-child {
  margin-bottom: 0;
}
html[data-theme="contractor_conversion"] .content-section > h2 {
  margin-bottom: 1rem;
}
html[data-theme="contractor_conversion"] .image-band img {
  max-height: 26rem;
}
html[data-theme="contractor_conversion"] .link-list:not(:has(h2, h3, p)) {
  padding-block: var(--rr-r2-space-3);
}
html[data-theme="contractor_conversion"] .form-split {
  gap: var(--rr-r2-space-4);
  padding-block: var(--rr-r2-space-5);
}
html[data-theme="contractor_conversion"] .form-split__form {
  padding: var(--rr-r2-space-4);
}

/* Action-only CTA bands are compact controls, not empty full-height panels. */
html[data-theme="contractor_conversion"] .cta-band:not(:has(h2, h3, p)) {
  display: flex;
  min-height: 0;
  justify-content: flex-start;
  padding: .95rem clamp(1.3rem, 3vw, 3rem);
  margin-block: .35rem;
  background: #e6eceb;
  border-left: 5px solid #de6940;
  color: #172c36;
}
html[data-theme="contractor_conversion"] .cta-band:not(:has(h2, h3, p)) .cta-group {
  grid-column: auto;
  grid-row: auto;
  justify-content: flex-start;
}
html[data-theme="contractor_conversion"] .cta-band:not(:has(h2, h3, p)) .cta--secondary {
  color: #173b4b;
  border-color: #173b4b;
}
html[data-theme="contractor_conversion"] .cta-band:has(h2, h3, p) {
  padding-block: var(--rr-r2-space-4);
}

/* Footer links read as navigation; interaction states retain a visible cue. */
html[data-theme="contractor_conversion"] .site-footer {
  padding-block: var(--rr-r2-space-5) var(--rr-r2-space-4);
}
html[data-theme="contractor_conversion"] .site-footer__groups {
  gap: var(--rr-r2-space-4);
}
html[data-theme="contractor_conversion"] .site-footer nav a {
  display: inline-block;
  text-decoration: none;
  text-underline-offset: .24em;
}
html[data-theme="contractor_conversion"] .site-footer nav a:hover,
html[data-theme="contractor_conversion"] .site-footer nav a:focus-visible {
  color: #ffd4bd;
  text-decoration: underline;
  text-decoration-thickness: .1em;
}
html[data-theme="contractor_conversion"] .site-footer nav a[aria-current="page"] {
  color: #ffd4bd;
  font-weight: 800;
  text-decoration: none;
}
html[data-theme="contractor_conversion"] .site-footer__copyright {
  margin-top: var(--rr-r2-space-4);
  padding-top: var(--rr-r2-space-3);
}

@media (max-width: 52rem) {
  html[data-theme="contractor_conversion"] .site-header {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "brand"
      "actions"
      "navigation";
    gap: .7rem;
    padding: .8rem 1rem .75rem;
  }
  html[data-theme="contractor_conversion"] .site-brand {
    max-width: 100%;
  }
  html[data-theme="contractor_conversion"] .site-brand__mark {
    width: 2.65rem;
    height: 2.65rem;
    flex-basis: 2.65rem;
  }
  html[data-theme="contractor_conversion"] .site-brand__name {
    max-width: none;
  }
  html[data-theme="contractor_conversion"] .site-header__actions {
    justify-self: stretch;
    justify-content: flex-start;
  }
  html[data-theme="contractor_conversion"] .site-header > nav {
    width: 100%;
    overflow: visible;
    padding-top: .6rem;
    mask-image: none;
  }
  html[data-theme="contractor_conversion"] .site-header > nav > ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: .05rem .95rem;
    padding: 0;
  }
  html[data-theme="contractor_conversion"] .site-header > nav > ul > li > a {
    min-height: 1.8rem;
  }
  html[data-theme="contractor_conversion"] .site-header > nav > ul > li[data-has-children="true"] {
    display: contents;
  }
  html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] {
    order: 99;
    position: static;
    flex: 1 0 100%;
    display: flex;
    width: auto;
    min-width: 0;
    max-width: 100%;
    gap: .2rem .85rem;
    padding: .55rem 0 0;
    flex-wrap: wrap;
    overflow-x: visible;
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(220, 233, 234, .18);
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    scrollbar-width: none;
  }
  html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] li {
    flex: 0 0 auto;
  }
  html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] a {
    padding: .35rem 0;
    color: #dce9ea;
    white-space: nowrap;
  }
  html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] a:hover,
  html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] a:focus-visible,
  html[data-theme="contractor_conversion"] .site-header > nav ul[data-nav-children-for] a[aria-current="page"] {
    color: #ffd4bd;
    background: transparent;
  }
}

@media (max-width: 42.5rem) {
  html[data-theme="contractor_conversion"] .site-header__actions .cta {
    min-height: 2.55rem;
    width: auto;
    padding: .55rem .7rem;
    font-size: .7rem;
  }
  html[data-theme="contractor_conversion"] .page-hero__content {
    padding: 1.9rem 1.25rem;
  }
  html[data-theme="contractor_conversion"] .content-section {
    padding: 2.25rem 1.25rem;
  }
  html[data-theme="contractor_conversion"] .cta-band:not(:has(h2, h3, p)) {
    padding: .9rem 1.25rem;
  }
  html[data-theme="contractor_conversion"] .cta-band:not(:has(h2, h3, p)) .cta-group {
    width: 100%;
    margin-top: 0;
  }
}

/* SITE-003 final micro-correction: a hero without approved media is a
   left-aligned, single-column composition rather than an empty split. */
html[data-theme="contractor_conversion"]
  .page-hero:not(:has(.page-hero__media)) {
  display: block;
  width: 100%;
  max-width: var(--rr-comp-hero-max-width);
  margin-right: auto;
  margin-left: 0;
}

/* SITE-003 final targeted visual corrections.
   Both rules are structural: CTA sibling semantics and repeated-item count. */

/* Keep an actions-only rail and an immediately following contextual CTA from
   reading as one duplicated callout. The first remains available as a quiet,
   right-aligned utility rail; the contextual band retains visual priority. */
html[data-theme="contractor_conversion"]
  .cta-band:not(:has(h2, h3, p)):has(
    + .cta-band > h2,
    + .cta-band > h3,
    + .cta-band > p
  ) {
  justify-content: flex-end;
  margin-block: .35rem var(--rr-r2-space-6);
  padding-block: var(--rr-r2-space-3);
  background: transparent;
  border-block: 1px solid #c9d4d6;
  border-left: 0;
}
html[data-theme="contractor_conversion"]
  .cta-band:not(:has(h2, h3, p)):has(
    + .cta-band > h2,
    + .cta-band > h3,
    + .cta-band > p
  ) .cta-group {
  justify-content: flex-end;
}
html[data-theme="contractor_conversion"]
  .cta-band:not(:has(h2, h3, p)) + .cta-band:has(h2, h3, p) {
  margin-top: 0;
}

/* Adaptive repeated-item composition at the full desktop canvas.
   Exact child counts choose the balanced pattern; other counts keep the
   established three-column fallback. */
@media (min-width: 65.6875rem) {
  html[data-theme="contractor_conversion"]
    :is(.cards, .process-steps ol):has(> :only-child) {
    grid-template-columns: minmax(0, 36rem);
    justify-content: center;
  }
  html[data-theme="contractor_conversion"]
    :is(.cards, .process-steps ol):has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html[data-theme="contractor_conversion"]
    :is(.cards, .process-steps ol):has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  html[data-theme="contractor_conversion"]
    :is(.cards, .process-steps ol):has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html[data-theme="contractor_conversion"]
    :is(.cards, .process-steps ol):has(> :nth-child(5):last-child) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  html[data-theme="contractor_conversion"]
    :is(.cards, .process-steps ol):has(> :nth-child(5):last-child) > :nth-child(-n + 3) {
    grid-column: span 2;
  }
  html[data-theme="contractor_conversion"]
    :is(.cards, .process-steps ol):has(> :nth-child(5):last-child) > :nth-child(n + 4) {
    grid-column: span 3;
  }
  html[data-theme="contractor_conversion"]
    :is(.cards, .process-steps ol):has(> :nth-child(6):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 42.5rem) {
  html[data-theme="contractor_conversion"]
    .cta-band:not(:has(h2, h3, p)):has(
      + .cta-band > h2,
      + .cta-band > h3,
      + .cta-band > p
    ) {
    justify-content: flex-start;
    margin-bottom: var(--rr-r2-space-5);
    padding-block: var(--rr-r2-space-3);
  }
  html[data-theme="contractor_conversion"]
    .cta-band:not(:has(h2, h3, p)):has(
      + .cta-band > h2,
      + .cta-band > h3,
      + .cta-band > p
    ) .cta-group {
    justify-content: flex-start;
  }
}
@media(max-width:680px) {
  html[data-theme="contractor_conversion"] .site-header { grid-template-columns:1fr; }
  html[data-theme="contractor_conversion"] .site-brand { grid-column:1; grid-row:1; max-width:none; }
  html[data-theme="contractor_conversion"] .site-header__actions { grid-column:1; grid-row:2; justify-content:flex-start; }
  html[data-theme="contractor_conversion"] .site-header nav { grid-column:1; grid-row:3; scrollbar-width:none; mask-image:linear-gradient(to right,#000 92%,transparent); }
  html[data-theme="contractor_conversion"] .site-header nav::-webkit-scrollbar { display:none; }
}

/* Keep the round-2 mobile composition authoritative over legacy mobile rules. */
@media (max-width: 42.5rem) {
  html[data-theme="contractor_conversion"] .site-header {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "brand" "actions" "navigation";
  }
  html[data-theme="contractor_conversion"] .site-brand {
    grid-area: brand;
  }
  html[data-theme="contractor_conversion"] .site-header__actions {
    grid-area: actions;
  }
  html[data-theme="contractor_conversion"] .site-header > nav {
    grid-area: navigation;
    mask-image: none;
  }
}
