.site-lang { text-decoration: none; }
.site-lang[aria-current="page"] { color: #0aa30a; text-decoration: underline; text-underline-offset: 5px; }
.service-card-link { color: inherit; text-decoration: none; display: block; }
.service-card-link:focus-visible, .service-related-links a:focus-visible, .site-lang:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.subpage-service .hero-copy { max-width: 900px; }
.service-back { display: inline-block; margin-bottom: 32px; font-size: 14px; text-decoration: none; color: #ddd !important; }
.subpage-service .hero h1 { font-size: clamp(36px, 4.6vw, 64px); }
.service-cta { display: inline-block; margin-top: 32px; color: #fff !important; }
.service-process { padding: 0; margin: 48px 0 0; list-style: none; }
.service-process li { display: grid; grid-template-columns: 96px 1fr; gap: 32px; padding: 36px 0; border-top: 1px solid #c4c7c7; }
.service-step { font: 28px "JetBrains Mono", monospace; color: #444748; }
.service-process p { max-width: 850px; }
.service-faq { background: #f5f3f3; }
.service-faq details { border-bottom: 1px solid #c4c7c7; padding: 24px 0; }
.service-faq summary { cursor: pointer; font: 24px/1.3 "Hanken Grotesk", Inter, sans-serif; }
.service-faq details p { margin-top: 20px; }
.service-email { display: inline-block; margin-top: 36px; overflow-wrap: anywhere; color: #fff !important; font-size: clamp(20px, 3vw, 32px); }
.service-work-link { display: block; margin-top: 28px; font-size: 16px; color: #ddd !important; }
.service-related-links { display: flex; flex-wrap: wrap; gap: 24px 48px; }
.service-related-links a { font: 24px/1.3 "Hanken Grotesk", Inter, sans-serif; text-decoration: none; }
.portfolio-static-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portfolio-static-card { display: block; position: relative; min-height: 340px; color: #fff; text-decoration: none; overflow: hidden; }
.portfolio-static-card img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.portfolio-static-card > div { position: relative; min-height: 340px; padding: 32px; display: flex; flex-direction: column; justify-content: end; background: linear-gradient(transparent, rgba(0,0,0,.88)); }
.portfolio-static-card h3 { font: 32px/1.2 "Hanken Grotesk", sans-serif; margin: 8px 0; }
.portfolio-static-card p { max-width: 520px; line-height: 1.5; }
.portfolio-static-action { margin-top: 16px; font-size: 14px; }
#brief { scroll-margin-top: 80px; }
#portfolio, #services, #contact { scroll-margin-top: 80px; }
@media(max-width: 760px) {
  .service-process li { grid-template-columns: 48px 1fr; gap: 16px; }
  .service-process h3 { font-size: 26px; }
  .portfolio-static-grid { grid-template-columns: 1fr; }
}
