.plc-service {
  --plc-line: var(--line-soft, #dfe5e9);
  --plc-surface: var(--surface, #f3f6f8);
  --plc-text-muted: var(--text-2, #58636d);
  color: var(--text, #182128);
}

/* The Segnetics CTA is longer than the other page labels. Let its buttons wrap
   inside the narrow content column instead of retaining the global nowrap width. */
.b2b-content-page--plc-segnetics .btn {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
  text-align: center;
}

.plc-service__hint {
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
  padding: 1rem 1.2rem;
  border-inline-start: 3px solid var(--accent, #d63819);
  background: var(--plc-surface);
  color: var(--plc-text-muted);
}

.plc-service__section {
  margin: clamp(3rem, 7vw, 5.75rem) 0;
  scroll-margin-top: 2rem;
}

.plc-service__section-head {
  max-width: 58rem;
  margin-bottom: 1.5rem;
}

.plc-service__section-head .eyebrow,
.plc-service__split .eyebrow,
.plc-service__tech .eyebrow,
.plc-service__price .eyebrow {
  margin-bottom: .65rem;
}

.plc-service__section-head h2,
.plc-service__split h2,
.plc-service__tech h2,
.plc-service__price h2 {
  margin-bottom: .75rem;
  font-size: clamp(1.65rem, 3.5vw, 2.45rem);
  letter-spacing: -.015em;
}

.plc-service__section-head > p:last-child {
  max-width: 58ch;
  color: var(--plc-text-muted);
}

.plc-service__grid {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plc-service__grid--tasks article:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.plc-service__card,
.plc-service__direction {
  min-width: 0;
  padding: clamp(1.15rem, 2.4vw, 1.7rem);
  border: 1px solid var(--plc-line);
  border-radius: var(--r, 4px);
  background: var(--plc-surface);
}

.plc-service__number {
  display: inline-block;
  margin-bottom: 1rem;
  color: var(--accent, #d63819);
  font-family: var(--f-head, inherit);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  font-variant-numeric: tabular-nums;
}

.plc-service__card h3,
.plc-service__direction h3,
.plc-service__steps h3 {
  margin: 0 0 .6rem;
  font-size: 1.12rem;
  line-height: 1.25;
}

.plc-service__card p,
.plc-service__direction > p:not(.plc-service__direction-label),
.plc-service__note,
.plc-service__prose p,
.plc-service__price > div:last-child > p,
.plc-service__tech > p:last-child {
  color: var(--plc-text-muted);
  line-height: 1.65;
}

.plc-service__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.plc-service__steps li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid var(--plc-line);
  border-radius: var(--r, 4px);
}

.plc-service__steps li > span {
  flex: 0 0 auto;
  color: var(--accent, #d63819);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.plc-service__steps p { margin: 0; color: var(--plc-text-muted); }
.plc-service__note { max-width: 72ch; margin: 1.2rem 0 0; }

.plc-service__direction-label {
  margin: 0 0 .7rem;
  color: var(--accent, #d63819);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.plc-service__direction h3 { font-size: 1.35rem; }
.plc-service__link { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.15rem; font-weight: 650; }
.plc-service__link:hover { color: var(--accent, #d63819); }

.plc-service__split,
.plc-service__price {
  display: grid;
  grid-template-columns: minmax(12rem, .8fr) minmax(0, 1.2fr);
  gap: clamp(1.25rem, 4vw, 4rem);
  align-items: start;
  padding: clamp(1.3rem, 3vw, 2.25rem);
  border: 1px solid var(--plc-line);
  border-radius: var(--r, 4px);
  background: var(--plc-surface);
}

.plc-service__prose p + p { margin-top: .9rem; }
.plc-service__checklist { margin: 0; padding-inline-start: 1.2rem; color: var(--plc-text-muted); }
.plc-service__checklist li + li { margin-top: .65rem; }
.plc-service__price .btn { margin-top: 1.25rem; }

.plc-service__tech {
  margin: clamp(2.5rem, 5vw, 4rem) 0;
  padding: clamp(1.3rem, 3vw, 2.25rem);
  border-inline-start: 3px solid var(--accent, #d63819);
  background: var(--plc-surface);
}

.plc-service__tech p:last-child { max-width: 72ch; margin: 0; }

.plc-service__faq { max-width: 58rem; }
.plc-service__faq details { border-top: 1px solid var(--plc-line); }
.plc-service__faq details:last-child { border-bottom: 1px solid var(--plc-line); }
.plc-service__faq summary { position: relative; min-height: 3.5rem; padding: 1rem 2.5rem 1rem 0; cursor: pointer; font-weight: 650; list-style: none; }
.plc-service__faq summary::-webkit-details-marker { display: none; }
.plc-service__faq summary::after { content: '+'; position: absolute; inset-inline-end: .25rem; top: .7rem; color: var(--accent, #d63819); font-size: 1.4rem; }
.plc-service__faq details[open] summary::after { content: '−'; }
.plc-service__faq details p { max-width: 68ch; padding: 0 0 1.1rem; color: var(--plc-text-muted); }

.plc-service__form-section { scroll-margin-top: 1.5rem; }
.plc-service__form-card {
  max-width: 58rem;
  padding: clamp(1.2rem, 4vw, 3rem);
  border: 1px solid var(--plc-line);
  border-radius: var(--r, 4px);
  background: var(--plc-surface);
}

.plc-service__prefill { display: inline-flex; gap: .35rem; margin: 0 0 1.1rem; padding: .4rem .65rem; border-radius: 3px; background: var(--bg, #fff); color: var(--plc-text-muted); font-size: .9rem; }
.plc-service__prefill strong { color: var(--text, #182128); }
.plc-form { display: grid; gap: 1.25rem; }
.plc-form__field { display: grid; gap: .4rem; min-width: 0; }
.plc-form__field label,
.plc-form fieldset legend { font-weight: 650; }
.plc-form__field label > span,
.plc-form fieldset legend > span { color: var(--plc-text-muted); font-size: .87em; font-weight: 400; }
.plc-form__field :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  padding: .75rem .85rem;
  border: 1px solid var(--line, #d5dde3);
  border-radius: var(--r, 4px);
  background: var(--bg, #fff);
  color: var(--text, #182128);
  font: inherit;
}
.plc-form__field textarea { resize: vertical; }
.plc-form__field small { color: var(--plc-text-muted); font-size: .84rem; }
.plc-form__contact-method,
.plc-form__equipment { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.plc-form__contact-method legend,
.plc-form__equipment legend { flex: 0 0 100%; margin-bottom: .25rem; }
.plc-form__contact-method label,
.plc-form__equipment label { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.5rem; cursor: pointer; }
.plc-form__extra { border-top: 1px solid var(--plc-line); border-bottom: 1px solid var(--plc-line); }
.plc-form__extra > summary { padding: .9rem 2rem .9rem 0; cursor: pointer; font-weight: 650; }
.plc-form__extra-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 0 0 1.25rem; }
.plc-form__equipment { grid-column: 1 / -1; }
.plc-form__extra-content > .plc-form__field:last-child { grid-column: 1 / -1; }
.plc-form__error { min-height: 0; margin: 0; color: #b42318; font-size: .88rem; }
.plc-form__error:empty { display: none; }
.plc-form [aria-invalid="true"] { border-color: #b42318; }
.plc-form__errors { padding: .85rem 1rem; border: 1px solid #b42318; border-radius: var(--r, 4px); background: color-mix(in srgb, #b42318 8%, var(--bg, #fff)); color: #b42318; }
.plc-form__errors[hidden] { display: none; }
.plc-form__errors ul { margin: .35rem 0 0; padding-inline-start: 1.2rem; }
.plc-form__status { min-height: 1.5em; color: var(--plc-text-muted); }
.plc-form__status[data-state="success"] { color: #197044; }
.plc-form__status[data-state="error"] { color: #b42318; }
.plc-form__cabinet-note,
.plc-form__followup { color: var(--plc-text-muted); font-size: .9rem; }
.plc-form__followup { margin-top: -.7rem; }
.plc-form [data-plc-submit][disabled] { cursor: wait; opacity: .65; }
.plc-service__contact { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: 1rem 0 2rem; padding-top: 1rem; border-top: 1px solid var(--plc-line); color: var(--plc-text-muted); }
.plc-service__contact a { color: var(--text, #182128); font-weight: 700; }
.plc-service__contact a:hover { color: var(--accent, #d63819); }

html[data-theme="dark"] .plc-form__error,
html[data-theme="dark"] .plc-form__errors,
html[data-theme="dark"] .plc-form__status[data-state="error"] { color: #ffaaa1; }
html[data-theme="dark"] .plc-form__errors { border-color: #ff8b80; background: color-mix(in srgb, #ff8b80 10%, var(--bg, #131a20)); }
html[data-theme="dark"] .plc-form [aria-invalid="true"] { border-color: #ff8b80; }
html[data-theme="dark"] .plc-form__status[data-state="success"] { color: #8ee1ad; }

@media (max-width: 700px) {
  .plc-service__grid,
  .plc-service__steps,
  .plc-service__split,
  .plc-service__price,
  .plc-form__extra-content { grid-template-columns: 1fr; }
  .plc-service__grid--tasks article:last-child:nth-child(odd),
  .plc-form__equipment,
  .plc-form__extra-content > .plc-form__field:last-child { grid-column: auto; }
  .plc-service__card,
  .plc-service__direction { padding: 1.15rem; }
  .plc-service__contact { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .plc-service { scroll-behavior: auto; }
}
