/* Thin accents; explicit single dividers for adjoining cards. */
.faq-grid > article,
.option-grid > article,
.company-focus-grid > article,
.homepage-services .featured-service,
.process-grid > li,
.legal-toc,
.cookie-banner { border-top-width: 1px; }
.trade-feature, .privacy-alert, .legal-contact, .hubspot-setup { border-left-width: 1px; }
.intro-section-photo picture { border-bottom-width: 1px; }
.reference-page .legal-hero { border-bottom: 0; }

/* Each FAQ row supplies its own 1px orange top, without a doubled frame. */
.faq-grid { gap: 0; border-top: 0; }
.faq-grid > article { border-left: 0; }
@media (min-width: 901px) {
  .faq-grid > article:nth-child(2n) { border-left: 1px solid var(--line); }
}

/* Adjoining service cards share one divider, rather than a gap plus a border. */
.sector-grid { gap: 0; }
.sector-grid > article { border: 0; }
@media (min-width: 601px) {
  .sector-grid:not(.sector-grid-three) > article:nth-child(2n) { border-left: 1px solid var(--line); }
  .sector-grid:not(.sector-grid-three) > article:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (min-width: 901px) {
  .sector-grid-three > article:not(:nth-child(3n+1)) { border-left: 1px solid var(--line); }
  .sector-grid-three > article:nth-child(n+4) { border-top: 1px solid var(--line); }
}
@media (max-width: 900px) {
  .sector-grid-three > article + article { border-top: 1px solid var(--line); }
}
@media (max-width: 600px) {
  .sector-grid:not(.sector-grid-three) > article + article { border-top: 1px solid var(--line); }
}

/* Keep wrapped footer navigation aligned with its column. */
.footer-grid > div { text-align: right; }
@media (max-width: 600px) { .footer-grid > div { text-align: left; } }
