/* Preserve the site's light theme, typography and purple accent. */
.services-hub { --service-accent: #3e34a3; --service-soft: #f4f3fc; }
.services-hub .hero .wrap { display: block; padding-top: 70px; padding-bottom: 70px; }
.services-hub .hero .inner { padding: 0; max-width: none; width: 100%; }
.services-hub .hero .lead { max-width: none; }
.services-hub .hero .h1 { font-size: clamp(34px, 3.7vw, 52px); }
.services-hub .core-service-section { padding: 84px 0; }
.services-hub .core-service-section .h2 { margin: 0; font-size: clamp(29px, 3vw, 40px); line-height: 1.2; }
.services-hub .scope-intro { margin: 20px 0 0; }
.services-hub #ai-automation, .services-hub #hosting-maintenance { background: var(--service-soft); }
.service-overview, .service-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.service-heading, .service-copy { min-width: 0; }
.service-feature .service-copy { grid-column: 2; grid-row: 1; }
.service-feature .service-scene { grid-column: 1; grid-row: 1; }
.service-scene { min-width: 0; margin: 0; }
.service-scene-frame { overflow: hidden; border-radius: 12px; background: #e6e4ec; }
.service-scene img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.services-hub .capability-list { margin-top: 36px; gap: 26px 44px; }
.services-hub .capability-list li { position: relative; padding-left: 16px; border-left: 2px solid #d8d4ee; }
.services-hub .capability-list a { display: inline-block; color: var(--service-accent); font-size: 19px; line-height: 1.4; }
.services-hub .capability-list p { font-size: 16px; margin-top: 7px; }
.services-hub .service-feature .capability-list { grid-template-columns: 1fr; gap: 24px; }
.services-hub #software-crm .capability-list { margin-top: 44px; }
.services-hub #ai-automation .service-scene img { aspect-ratio: 4 / 5; object-position: 44% center; }
.services-hub #websites-ecommerce .service-heading { max-width: 770px; }
.services-hub #websites-ecommerce .service-scene { margin-top: 32px; }
.services-hub #websites-ecommerce .service-scene img { aspect-ratio: 2.5 / 1; object-position: center 56%; }
.services-hub #websites-ecommerce .capability-list { grid-template-columns: 1fr 1fr; }
.services-hub #websites-ecommerce .capability-list li:last-child { grid-column: 1 / -1; }
.services-hub #seo-geo .service-scene { grid-column: 2; grid-row: 1; }
.services-hub #seo-geo .service-copy { grid-column: 1; grid-row: 1; }
.services-hub #hosting-maintenance .service-scene img { aspect-ratio: 1 / 1; object-position: 65% center; }
.services-hub .service-language { padding: 24px 0 0; }
.services-hub .btn-primary { background: var(--service-accent); color: #fff; }
.services-hub .lnk:focus-visible, .services-hub .btn:focus-visible { outline: 3px solid var(--service-accent); outline-offset: 5px; border-radius: 3px; }
@media (prefers-reduced-motion: no-preference) {
 .service-scene img { transition: transform 750ms cubic-bezier(.2,.65,.3,1); }
 .services-hub .capability-list a, .services-hub .btn { transition: transform 220ms ease-out; }
 .services-hub .capability-list a:focus-visible { transform: translateX(4px); }
 @media (hover: hover) and (pointer: fine) {
  .service-scene:hover img { transform: scale(1.035); }
  .services-hub .capability-list a:hover { transform: translateX(4px); }
  .services-hub .btn:hover { transform: translateY(-2px); }
 }
 .services-hub .btn:active { transform: translateY(0) scale(.98); }
}
@media (max-width: 1024px) {
 .services-hub .hero .wrap { padding-top: 52px; padding-bottom: 52px; }
 .services-hub .hero .h1 { font-size: 36px; }
 .service-overview, .service-feature { gap: 36px; }
 .services-hub .core-service-section { padding: 64px 0; }
}
@media (max-width: 760px) {
 .services-hub .wrap { padding-left: 20px; padding-right: 20px; }
 .services-hub .hero .wrap { padding-top: 38px; padding-bottom: 38px; }
 .services-hub .hero .h1 { font-size: clamp(30px, 8vw, 38px); }
 .services-hub .core-service-section { padding: 48px 0; }
 .service-overview, .service-feature { grid-template-columns: 1fr; gap: 28px; }
 .service-feature .service-copy, .services-hub #seo-geo .service-copy { grid-column: 1; grid-row: 1; }
 .service-feature .service-scene, .services-hub #seo-geo .service-scene { grid-column: 1; grid-row: 2; }
 .services-hub .capability-list, .services-hub #websites-ecommerce .capability-list { grid-template-columns: 1fr; gap: 24px; }
 .services-hub #software-crm .capability-list { margin-top: 28px; }
 .services-hub #ai-automation .service-scene img,
 .services-hub #websites-ecommerce .service-scene img,
 .services-hub #hosting-maintenance .service-scene img { aspect-ratio: 3 / 2; }
 .services-hub #websites-ecommerce .capability-list li:last-child { grid-column: auto; }
 .services-hub .scope-intro { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .service-scene img, .services-hub .btn, .services-hub .capability-list a { animation: none; transition: none; transform: none; }
}
