/* PC/IT extensions use the existing brand tokens and layout primitives. */
.hero h1 { font-size: 3.4rem; overflow-wrap: anywhere; }
.service-page, .pc-service-section, .contact-layout { letter-spacing: 0; }
.service-page h1, .service-page h2, .service-page h3, .pc-service-section h2 { overflow-wrap: anywhere; letter-spacing: 0; }
.service-page .service-hero { padding: 48px 28px 54px; }
.service-page .service-hero h1 { max-width: 22ch; font-size: 3.4rem; }
.service-hero > p { max-width: 72ch; }
.service-page h2, .pc-service-section h2 { font-size: 2rem; line-height: 1.25; }
.service-page h3 { font-size: 1.2rem; line-height: 1.4; }
.service-page p, .pc-service-section p { color: var(--muted); }
.service-page .eyebrow, .pc-service-section .eyebrow { color: var(--cyan); letter-spacing: 0; }
.service-text-link { color: var(--cyan); display: inline-block; text-decoration: underline; text-underline-offset: 5px; padding-block: 10px; line-height: 1.6; }
.service-fineprint, .service-hero > .service-fineprint { font-size: .85rem; line-height: 1.6; color: var(--muted); }
.pc-service-cards .card { border-radius: 8px; display: flex; flex-direction: column; }
.pc-service-cards .icon-chip { align-self: flex-start; }
.pc-service-cards h3 { font-size: 1.2rem; overflow-wrap: anywhere; }
.pc-service-cards .service-text-link { margin-top: auto; }
.service-problems { background: #0b1320; }
.service-problems article { border-top: 2px solid var(--cyan); padding-top: 18px; }
.service-chapter, .service-trust-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; }
.service-chapter h2 { margin-top: 0; }
.service-chapter p:first-child { margin-top: 0; }
.service-chapter li { padding-bottom: 12px; }
.service-trust { background: #12231d; border-block: 1px solid #416044; }
.service-trust h2 { color: var(--lime); margin-top: 0; font-size: 2rem; line-height: 1.25; }
.service-trust h3 { margin-top: 0; }
.service-trust p { color: #d1dfd5; }
.service-trust-grid > div { min-width: 0; }
.service-process { list-style: decimal-leading-zero; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 34px; padding-left: 28px; }
.service-process li { padding-left: 8px; }
.service-process li::marker { color: var(--cyan); font-weight: 700; }
.service-process h3 { margin-top: 0; }
.service-process p { font-size: .95rem; }
.service-region-band { background: #0b1320; }
.service-region-band address { font-style: normal; }
.service-page .faq-grid details { border-radius: 8px; }
.service-page .faq-grid summary { overflow-wrap: anywhere; }
.service-contact { border-top: 1px solid var(--line); }
.service-contact > p { max-width: 75ch; }
.related-services { border-top: 1px solid var(--line); }
.service-link-list { display: flex; gap: 14px 28px; flex-wrap: wrap; }
.service-link-list a { color: var(--cyan); padding-block: 12px; }
.service-area-list { display: grid; gap: 24px; }
.service-area-list article { border-bottom: 1px solid var(--line); padding-bottom: 24px; max-width: 850px; }
.service-photo { margin-block: 24px 0; }
.service-photo img { width: 100%; height: 230px; object-fit: cover; }
.service-photo figcaption { margin-top: 10px; font-size: .75rem; color: var(--muted); }
.contact-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 60px; }
.contact-layout > * { min-width: 0; }
.contact-layout h2 { font-size: 1.7rem; line-height: 1.3; overflow-wrap: anywhere; }
.contact-layout .form-step h2 { font-size: 1.2rem; }
.contact-layout .form-card { border: 0; box-shadow: none; background: none; padding: 0; container-type: inline-size; }
.contact-layout .form-step { background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 0 0 24px; }
.contact-layout .form-field { min-width: 0; }
.contact-layout .form-field input, .contact-layout select, .contact-layout textarea { min-width: 0; }
.contact-options { border-block: 1px solid var(--line); padding-block: 18px; }
.contact-options summary { cursor: pointer; font-weight: 600; }
.contact-options .form-grid { margin-top: 24px; }
.field-errors, .form-errors { color: #ffb6b6; }
.field-errors { font-size: .85rem; padding-left: 20px; }
.form-errors { border: 1px solid var(--red); padding: 20px; border-radius: 4px; }
.form-errors h2 { font-size: 1.2rem; }
[hidden] { display: none !important; }
@container (max-width: 440px) { .contact-layout .form-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 980px) {
  .service-process { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-chapter, .service-trust-grid { gap: 32px; }
  .contact-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
}
@media (max-width: 680px) {
  .hero h1 { font-size: 2.2rem; }
  .service-page .service-hero { padding: 30px 16px 40px; }
  .service-page .service-hero h1 { font-size: 2.2rem; }
  .service-page h2, .pc-service-section h2 { font-size: 1.65rem; }
  .service-chapter, .service-trust-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .service-process { grid-template-columns: minmax(0,1fr); gap: 20px; }
}
