/* Detailed services page, shared visual language with the homepage. */
.services-page { background: #081325; color: #f3f7ff; min-height: 100vh; }
.services-wrap { margin-inline: auto; width: min(1080px, calc(100% - 42px)); }
.services-page h1, .services-page h2, .services-page h3 { font-family: 'Space Grotesk', Arial, sans-serif; letter-spacing: -.055em; line-height: .98; }
.services-hero { background: radial-gradient(circle at 87% 12%, rgba(45,199,228,.24), transparent 23%), radial-gradient(circle at 7% 88%, rgba(142,128,255,.23), transparent 28%), #081325; overflow: hidden; padding: 112px 0 96px; position: relative; }
.services-hero::after { border: 1px solid rgba(45,199,228,.24); content: ''; height: 380px; position: absolute; right: 7%; top: 33px; transform: rotate(38deg); width: 380px; }
.services-hero__copy { max-width: 720px; position: relative; z-index: 1; }
.services-hero h1 { font-size: clamp(52px, 7.8vw, 96px); margin: 0 0 25px; max-width: 10ch; }
.services-hero h1 em { color: #2dc7e4; font-style: normal; }
.services-hero p { color: #c8d5e4; font-size: 20px; line-height: 1.5; margin: 0; max-width: 650px; }
.services-eyebrow { color: #2dc7e4; font-size: 11px; font-weight: 700; letter-spacing: .14em; margin: 0 0 20px; text-transform: uppercase; }
.service-detail-list { padding: 88px 0; }
.service-detail { border-top: 1px solid rgba(172,203,234,.2); display: grid; gap: 32px; grid-template-columns: 70px minmax(220px, .85fr) minmax(0, 1.15fr); padding: 51px 0; scroll-margin-top: 90px; }
.service-detail:last-child { border-bottom: 1px solid rgba(172,203,234,.2); }
.service-detail__number { color: #2dc7e4; font: 600 26px 'Space Grotesk', Arial, sans-serif; }
.service-detail > div { min-width: 0; }
/* Keep long German service names inside their own grid column. */
.service-detail h2 { font-size: clamp(32px, 4vw, 52px); hyphens: auto; margin: 0; max-width: 10ch; overflow-wrap: break-word; }
.service-detail p, .service-detail li { color: #b6c4d7; }
.service-detail p { margin-top: 0; }
.service-detail ul { margin: 22px 0 0; padding-left: 20px; }
.service-detail li { margin: 8px 0; }
.service-detail strong { color: #f3f7ff; }
.services-process { background: #0e213b; padding: 92px 0; }
.services-process h2 { font-size: clamp(39px, 5vw, 63px); margin: 0; max-width: 10ch; }
.services-process__grid { display: grid; gap: 22px; grid-template-columns: repeat(4, 1fr); margin-top: 47px; }
.services-process__grid article { border-top: 1px solid rgba(172,203,234,.35); padding-top: 17px; }
.services-process__grid b { color: #b8ed72; display: block; font: 600 24px 'Space Grotesk', Arial, sans-serif; margin-bottom: 9px; }
.services-process__grid p { color: #b6c4d7; font-size: 14px; margin: 0; }
.services-contact { display: grid; gap: 75px; grid-template-columns: 1fr 1fr; padding: 92px 0; }
.services-contact h2 { font-size: clamp(39px, 5vw, 63px); margin: 0; max-width: 10ch; }
.services-contact p { color: #c8d5e4; font-size: 19px; line-height: 1.52; margin-top: 0; }
.services-contact__button { background: #2dc7e4; color: #071523; display: inline-flex; font-size: 15px; font-weight: 700; gap: 17px; padding: 15px 20px; text-decoration: none; transition: background .25s ease, transform .25s ease; }
.services-contact__button:hover { background: #6de4f5; transform: translateY(-3px); }
@media (max-width: 760px) { .services-hero { padding: 82px 0; } .services-hero::after { opacity: .4; right: -170px; } .service-detail { grid-template-columns: 48px 1fr; } .service-detail > div:last-child { grid-column: 2; } .services-process__grid { grid-template-columns: repeat(2, 1fr); } .services-contact { gap: 35px; grid-template-columns: 1fr; } }
@media (max-width: 520px) { .services-wrap { width: min(100% - 34px, 1080px); } .service-detail-list, .services-process, .services-contact { padding: 72px 0; } .services-process__grid { grid-template-columns: 1fr; } }
