/* One visual signature: opposing red corners, a small corner mark, and a fine line. */
:root { --signature-red: #c4000c; --signature-on-dark: #ff929f; --signature-radius: 10px; }
.signature-positioned { position: relative; }
.signature-surface { --signature-ink: var(--signature-red); }
.signature-surface.signature-dark { --signature-ink: var(--signature-on-dark); }
.signature-detail { display: block; position: absolute; z-index: 4; inset: 8px; pointer-events: none; color: var(--signature-ink); opacity: .62; --signature-length: 25px; --signature-leg: 16px; --signature-emphasis: 0; }
.signature-corner { display: block; position: absolute; width: var(--signature-length); height: var(--signature-leg); }
.signature-corner::before, .signature-corner::after { content: ''; position: absolute; display: block; background: currentColor; border-radius: 1px; }
.signature-corner::before { width: 100%; height: 1.5px; left: 0; top: 0; transform: scaleX(calc(1 + var(--signature-emphasis)*.4)); transform-origin: left; }
.signature-corner::after { width: 1.5px; height: 100%; left: 0; top: 0; transform: scaleY(calc(1 + var(--signature-emphasis)*.4)); transform-origin: top; }
.signature-corner:first-child { top: 0; left: 0; }
.signature-corner:last-child { bottom: 0; right: 0; transform: rotate(180deg); }
.signature-surface:focus-within > .signature-detail { opacity: .95; }
.signature-mark { display: block; flex: 0 0 14px; width: 14px; height: 14px; overflow: visible; color: currentColor; }
.signature-mark path { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; stroke-linejoin: miter; }
.hero .hero-eyebrow.signature-kicker,
.signature-kicker.section-kicker,
.about .about-copy .eyebrow.signature-kicker,
.quick-project-caption.signature-kicker {
  display: inline-flex; align-items: center; gap: 9px; width: fit-content;
  padding: 7px 10px; border: 1px solid #c4000c18; border-radius: 4px;
  background: #fffafa; color: var(--signature-red); box-shadow: none;
  font-size: 9px; font-weight: 600; letter-spacing: 1.6px; line-height: 1.5;
}
.signature-kicker::before, .signature-kicker::after,
.hero .hero-eyebrow.signature-kicker::before, .hero .hero-eyebrow.signature-kicker::after,
.section-heading .signature-kicker::before, .faq-intro .signature-kicker::before,
.about .about-copy .eyebrow.signature-kicker::before,
.contact-cta .signature-kicker::before, #site-footer h3.signature-kicker::before { display: none; }
.services-section .signature-kicker.section-kicker,
.about .about-copy .eyebrow.signature-kicker,
.contact-cta .signature-kicker.section-kicker { border-color: #ff929f25; background: #ff929f05; color: var(--signature-on-dark); }
.quick-project-caption.signature-kicker { margin-bottom: 15px; font-size: 8px; letter-spacing: 1.4px; }
.quick-project-caption.signature-kicker > .icon { display: none; }
#site-footer h3.signature-kicker { display: flex; gap: 9px; }
#site-footer h3.signature-kicker .signature-mark { color: var(--signature-on-dark); width: 11px; height: 11px; flex-basis: 11px; }
#modal-content > .eyebrow.signature-kicker { display: flex; gap: 9px; }
#modal-content > .eyebrow.signature-kicker::before { display: none; }

/* Replace former isolated corner treatments with the shared signature. */
.services-section .service-card::before, .services-section .service-card::after,
.products .product-card .product-image::after, .projects .project-photo::after,
.hero .hero-photo-note::before, .hero .hero-photo-note::after,
.header .brand-placeholder::before, .header .brand-placeholder::after,
.contact-cta .quick-project::before, .contact-cta .quick-project::after,
.contact-cta .contact-direct::after { display: none; }
.services-section .service-card, .products .product-card, .projects .project-card,
.products .system-finder, .about .stats-grid, .approach-card,
.contact-cta .quick-project, .faq-section .faq-list details { border-radius: var(--signature-radius); }
.hero .hero-photo-note > .signature-detail { z-index: 2; inset: 10px; }
.hero .hero-photo-note { border-left-color: #ffffff32; }
.header .brand-placeholder > .signature-detail { inset: 5px; --signature-length: 18px; --signature-leg: 11px; }
.services-section .service-card > .signature-detail { position: absolute; z-index: 3; }
.approach-card > .signature-detail { position: absolute; z-index: 3; }
.products .product-card > .signature-detail, .projects .project-card > .signature-detail { inset: 4px; }
.projects .project-card > .signature-detail { padding: 0; background: none; color: var(--signature-ink); }
.products .product-image, .projects .project-photo { border-radius: 6px; }
.products .finder-intro::after { display: none; }
.products .finder-intro::before { width: 2px; height: 25px; }
.faq-section .faq-list details.signature-surface { border-left-width: 1px; padding-left: 21px; }
.faq-section .faq-list details[open] { border-color: #dfb4bc; }
.faq-section .faq-list details > .signature-detail { opacity: .26; --signature-length: 19px; --signature-leg: 12px; inset: 6px; }
.faq-section .faq-list details[open] > .signature-detail { opacity: .8; }
.contact-cta .quick-project > .signature-detail { inset: 9px; }
.contact-cta .contact-direct > .signature-detail { inset: 5px; --signature-length: 17px; --signature-leg: 11px; opacity: .48; }
#site-footer .footer-map { border-left: 0; padding: 18px; border: 1px solid #ffffff14; border-radius: var(--signature-radius); }
#site-footer .footer-map::after { display: none; }
#site-footer .footer-map > .signature-detail { inset: 8px; }
#modal.signature-surface { border-top-width: 1px; border-radius: 12px; }
#modal > .signature-detail { position: absolute; inset: 7px; z-index: 0; }
.header .dropdown > .signature-detail { inset: 5px; --signature-length: 16px; --signature-leg: 11px; opacity: .35; }
.service-icon, .approach-icon, .hero .benefits .icon, .contact-cta .contact-direct > .icon { border-radius: 7px; }
.hero .benefits > :is(button,a[data-service])::before { width: 14px; height: 8px; left: 6px; top: 6px; background: none; border-top: 1px solid #c4000c60; border-left: 1px solid #c4000c60; }
.process-section .process-step::after { inset: 4px auto auto 4px; width: 10px; height: 8px; border-width: 1px 0 0 1px; border-radius: 0; }
.process-section .process-step::before { content: ''; position: absolute; right: 4px; bottom: 4px; width: 10px; height: 8px; border: solid #ffffff50; border-width: 0 1px 1px 0; pointer-events: none; }
@media(max-width:960px) {
  .header .dropdown > .signature-detail { display: none; }
}
@media(max-width:640px) {
  .signature-detail { inset: 6px; --signature-length: 20px; --signature-leg: 13px; opacity: .52; }
  .hero .hero-eyebrow.signature-kicker, .signature-kicker.section-kicker,
  .about .about-copy .eyebrow.signature-kicker { font-size: 8px; letter-spacing: 1.2px; padding: 6px 8px; gap: 8px; }
  .quick-project-caption.signature-kicker { font-size: 7px; letter-spacing: 1px; padding: 6px 7px; gap: 7px; }
  .signature-mark { flex-basis: 12px; width: 12px; height: 12px; }
  .header .brand-placeholder > .signature-detail { --signature-length: 14px; --signature-leg: 9px; }
  .faq-section .faq-list details.signature-surface { padding-left: 15px; }
}
@media(prefers-reduced-motion:reduce) {
  .signature-detail, .signature-mark, .signature-mark * { transition: none!important; animation: none!important; }
}
