/* Page-local additions for the 24hr Mobile Mechanical inner page.
   Everything else (header, buttons, torn edge, proof cards, hours, footer) is inherited
   unchanged from /v6/styles.css to stay fully consistent with the approved homepage. */

/* R-036: Darrel reverted the hero back to the homepage's background-image treatment (the
   R-035 split-panel read too much like a departure from the rest of the site). Same real
   photo, same overlay technique as homepage, title knocked down to a fixed 56px this round. */
.svc-hero {
  background-image:
    linear-gradient(90deg, rgba(9,10,12,0.9) 0%, rgba(9,10,12,0.74) 32%, rgba(9,10,12,0.32) 62%, rgba(9,10,12,0.12) 100%),
    url("assets/hero.png");
  background-position: center 55%;
  background-size: cover;
}

.hero-headline {
  font-size: 56px;
}

.kicker {
  font-family: var(--font-condensed);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7cc3e8;
  margin-bottom: 14px;
}

/* R-035: "the Plan" section, a brand-new concept (not a reskin of the homepage's numbered
   color-band proof rows). A horizontal 3-step process flow.
   R-036: background swapped from ice-blue to white (Carry took the ice-blue instead).
   R-037: --color-worktruck-white (#f8fafb) still reads as an off-white/blue tint at this
   size -- switched to literal pure #fff, and padding-top removed per Darrel. */
.plan {
  padding: 80px var(--gutter) 96px;
  background: #ffffff;
}

.plan-heading {
  max-width: 640px;
  margin: 0 auto 72px;
  text-align: center;
}

.plan-heading h2 {
  font-family: var(--font-display);
  font-size: var(--section-title);
  line-height: 1.12;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-deep-blue);
  margin-bottom: 16px;
}

.plan-heading p {
  color: #33454e;
  font-size: 18px;
  line-height: 1.6;
}

.plan-steps {
  display: flex;
  align-items: flex-start;
  gap: 0;
}

.plan-step {
  flex: 1;
  text-align: center;
  padding: 0 20px;
}

.plan-icon {
  width: 84px;
  height: 84px;
  margin: 0 auto 20px;
  border-radius: 999px;
  background: #fff;
  border: 2px solid var(--color-deep-blue);
  display: flex;
  align-items: center;
  justify-content: center;
}

.plan-index {
  display: block;
  font-family: var(--font-condensed);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-diesel-blue);
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}

.plan-step h3 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-deep-blue);
  margin-bottom: 12px;
}

.plan-step p {
  color: #33454e;
  font-size: 16px;
  line-height: 1.6;
}

.plan-connector {
  flex: 0 0 auto;
  width: 60px;
  height: 2px;
  background: var(--color-deep-blue);
  opacity: 0.35;
  margin-top: 42px;
}

.plan-cta {
  text-align: center;
  margin-top: 56px;
}

.plan-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 32px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3782ad 0%, #245a80 100%);
  color: #fff;
  font-family: var(--font-condensed);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .plan-steps { flex-direction: column; gap: 40px; }
  .plan-connector { display: none; }
}

@media (max-width: 760px) {
  .plan { padding-block: 72px; }
  .plan-heading { margin-bottom: 48px; }
}

/* capability / "what's on the truck" grid. R-036: background swapped from white to ice-blue
   (Story/Plan took white instead). */
.carry {
  padding: 112px var(--gutter) 96px;
  display: flex;
  flex-direction: column;
  gap: 56px;
  background: var(--color-ice-blue);
}

.carry-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.carry-card {
  padding: 32px;
  background: #fff;
  border: 1px solid #d8e1e6;
  border-radius: 4px;
}

.carry-card img { margin-bottom: 20px; }

.carry-card h3 {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.15;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-deep-blue);
  margin-bottom: 10px;
}

.carry-card p {
  color: #3d5059;
  font-size: 16px;
  line-height: 1.6;
}

/* real-photo interrupt section */
.photo-interrupt {
  display: grid;
  grid-template-columns: minmax(0, 560px) 1fr;
  background: var(--color-instrument-black);
}

.photo-interrupt img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-interrupt-copy {
  padding: 96px var(--gutter);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  color: #fff;
}

.photo-interrupt-copy h2 {
  font-family: var(--font-display);
  font-size: clamp(32px, 3vw, 44px);
  line-height: 1.15;
  font-weight: 700;
  text-transform: uppercase;
}

.photo-interrupt-copy p {
  color: #dce8ee;
  font-size: 18px;
  line-height: 1.6;
  max-width: 34rem;
}

.photo-interrupt-copy a {
  color: var(--color-diesel-blue);
  font-family: var(--font-condensed);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .carry-grid { grid-template-columns: repeat(2, 1fr); }
  .photo-interrupt { grid-template-columns: 1fr; }
  .photo-interrupt img { max-height: 420px; }
}

@media (max-width: 760px) {
  .carry { padding-block: 72px; }
  .carry-grid { grid-template-columns: 1fr; }
  .photo-interrupt-copy { padding: 56px 24px; }
}
