/* Direct B2B service positioning and Detroit industry photography. */
.hero-copy .eyebrow {max-width: 440px; font-size: 10px; letter-spacing: 1.45px;}
.hero-description {max-width: 510px;}
.service .service-title h3 {min-height: 78px;}
.contact-line a {display: block; width: fit-content; margin-top: 4px;}
.soc-section {background: #f6f3ed; border-top: 1px solid #e6e1d8; border-bottom: 1px solid #e6e1d8; padding: 76px 0;}
.soc-layout {display: grid; grid-template-columns: 1fr 1.05fr; gap: 74px; align-items: center;}
.soc-photo {position: relative; min-width: 0; padding-bottom: 24px;}
.soc-photo>img {width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 48% center;}
.soc-caption {display: flex; align-items: center; gap: 24px; position: relative; margin: -48px 24px 0; background: #fff; border-bottom: 3px solid var(--orange); padding: 22px 27px; box-shadow: 0 10px 30px #0b0f1708;}
.soc-caption strong {font-size: 56px; font-weight: 500; letter-spacing: -3px; line-height: 1; color: var(--orange); white-space: nowrap;}
.soc-caption span {font-size: 10px; font-weight: 700; letter-spacing: 1.4px; line-height: 1.8; max-width: 145px;}
.soc-copy>.eyebrow {color: #9d3e27;}
.soc-copy>p:not(.eyebrow) {font-size: 14px; color: var(--muted); margin: 22px 0 26px; line-height: 1.9;}
.soc-process {list-style: none; padding: 0; margin: 0 0 29px;}
.soc-process li {display: flex; gap: 21px; padding: 17px 0; border-top: 1px solid #dcd7ce;}
.soc-process li>span {font-size: 11px; color: var(--orange); padding-top: 3px;}
.soc-process h3 {font-size: 18px; letter-spacing: -.3px; margin-bottom: 5px;}
.soc-process p {font-size: 12px; line-height: 1.8; color: var(--muted);}
.industry-toolbar {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; border-top: 1px solid var(--line); padding: 22px 0 28px;}
.industry-filters {display: flex; flex-wrap: wrap; gap: 8px;}
.industry-filters button {background: white; border: 1px solid #d9d7d1; color: #52575e; font-size: 11px; font-weight: 600; padding: 11px 16px; min-height: 44px; border-radius: 2px; transition: background .15s, border-color .15s;}
.industry-filters button:hover {border-color: var(--orange); color: var(--navy);}
.industry-filters button[aria-pressed="true"] {color: white; background: var(--navy); border-color: var(--navy);}
#industry-count {font-size: 10px; color: var(--muted); white-space: nowrap;}
.industry-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px;}
.industry-card {min-width: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid #e3e0d9;}
.industry-card.industry-feature {grid-column: span 2;}
.industry-grid.is-filtered .industry-feature {grid-column: auto;}
.industry-photo {position: relative; overflow: hidden; background: var(--cream);}
.industry-photo img {width: 100%; height: 245px; object-fit: cover; object-position: center 45%; transition: transform .5s ease;}
.industry-card:hover img {transform: scale(1.025);}
.industry-location {position: absolute; bottom: 0; left: 0; background: #fff; color: #9d3e27; font-size: 8px; font-weight: 700; letter-spacing: 1.3px; padding: 9px 16px;}
.industry-copy {padding: 25px 27px 24px; display: flex; flex: 1; flex-direction: column;}
.industry-type {font-size: 10px; font-weight: 700; color: #9d3e27; margin-bottom: 10px;}
.industry-copy h3 {font-size: 23px; letter-spacing: -.65px; line-height: 1.27; margin-bottom: 14px; max-width: 410px;}
.industry-copy p {font-size: 12px; color: var(--muted); line-height: 1.85; max-width: 540px; margin-bottom: 23px;}
.industry-copy a {margin-top: auto; padding-top: 17px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 10px; font-weight: 700;}
.industry-copy a>span {color: var(--orange); font-size: 19px; line-height: 1;}
.industry-copy a:hover {color: var(--orange);}
.industry-bottom {display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 32px;}
.industry-bottom>p {font-size: 12px; color: var(--muted); max-width: 440px;}
.industry-bottom .text-link {flex-shrink: 0; font-size: 11px;}
@media (max-width: 1100px) {
 .soc-layout {gap: 42px;}
 .soc-caption {margin-right: 18px; margin-left: 18px; padding: 19px 21px; gap: 17px;}
 .soc-caption strong {font-size: 48px;}
 .soc-caption span {font-size: 8px;}
 .industry-grid {gap: 20px;}
 .industry-photo img {height: 210px;}
 .industry-copy {padding: 23px 21px;}
 .industry-copy h3 {font-size: 21px;}
}
@media (max-width: 900px) {
 .soc-layout {gap: 32px;}
 .soc-photo>img {aspect-ratio: .82;}
 .soc-copy h2 {font-size: 34px;}
 .soc-caption {flex-direction: column; align-items: flex-start; gap: 10px;}
 .soc-caption span {max-width: none;}
 .industry-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
 .industry-card.industry-feature {grid-column: auto;}
 .industry-copy h3 {font-size: 22px;}
 .industry-bottom {flex-direction: column; align-items: flex-start; gap: 14px;}
}
@media (max-width: 700px) {
 .hero-copy .eyebrow {font-size: 8px; letter-spacing: 1px;}
 .service .service-title h3 {min-height: 0;}
 .soc-section {padding: 48px 0;}
 .soc-layout {grid-template-columns: 1fr; gap: 20px;}
 .soc-photo>img {aspect-ratio: 3/2; object-position: center;}
 .soc-caption {flex-direction: row; align-items: center; margin: -35px 18px 0; padding: 20px 23px; gap: 23px;}
 .soc-caption strong {font-size: 45px;}
 .soc-caption span {font-size: 8px; max-width: 140px;}
 .soc-copy h2 {font-size: 35px;}
 .soc-copy>p:not(.eyebrow) {font-size: 13px;}
 .industry-toolbar {gap: 14px; padding: 20px 0 23px;}
 .industry-filters {gap: 7px;}
 .industry-filters button {font-size: 10px; padding: 10px 12px;}
 .industry-grid {grid-template-columns: 1fr; gap: 25px;}
 .industry-photo img {height: auto; aspect-ratio: 3/2; object-position: center;}
 .industry-copy {padding: 24px;}
 .industry-copy h3 {font-size: 25px;}
 .industry-copy p {font-size: 13px;}
 .industry-copy a {font-size: 11px; min-height: 44px;}
 .industry-location {font-size: 7px; padding: 8px 14px;}
 .industry-bottom .text-link {flex-shrink: 1;}
}
