/* Homepage project slideshow and integrated services. */
.hero-showcase{min-width:0}.hero-slides{display:block;position:relative;aspect-ratio:1.2;overflow:hidden;border-radius:24px;background:var(--soft)}
.hero-slides:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
.hero-slides .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% 50%;opacity:0;transition:opacity 900ms ease}
.hero-slides .hero-slide.is-active{opacity:1}.hero-slides .hero-slide-concept{object-fit:contain;object-position:center;background:#eef0f4}
.hero-slide-badges{position:absolute;top:18px;left:18px;right:18px;z-index:2;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}
.hero-slide-badges>span{padding:8px 13px;border:1px solid rgba(255,255,255,.24);border-radius:30px;background:rgba(16,20,29,.86);color:white;font-size:12px;line-height:1.4;letter-spacing:.03em}
.hero-slides .hero-slide-website{object-fit:contain;object-position:center;background:#f7f5f1;padding:45px 12px 12px}
/* One coherent service row, with its introduction as the first item. */
.discipline-strip{display:grid;grid-template-columns:1.65fr repeat(5,1fr);align-items:center;gap:12px;padding-block:16px}
.discipline-heading,.discipline-labels{display:contents}
.discipline-strip a{justify-content:center;font-size:13px}
.discipline-heading .text-link{justify-content:space-between;gap:10px;margin:0;padding:10px 14px;border:0;border-radius:10px;background:var(--soft);color:var(--ink);font-size:13px;white-space:normal;line-height:1.5}
.discipline-heading .site-icon{flex-shrink:0;width:18px;height:18px}

@media(max-width:1050px){.discipline-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}}
@media(max-width:560px){.hero-slides{aspect-ratio:1 / 1.08;border-radius:20px}.hero-slide-badges{top:14px;left:14px;right:14px;gap:6px}.hero-slide-badges>span{font-size:11px;padding:7px 10px}.hero-slides .hero-slide-website{padding:45px 8px 8px}.discipline-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.discipline-strip a{font-size:12px}.discipline-heading .text-link{font-size:12px;padding:8px 10px}}
@media(prefers-color-scheme:dark){:where(html:not([data-theme])) .hero-slides .hero-slide-website{background:#1c191e}}:where(html[data-theme="dark"]) .hero-slides .hero-slide-website{background:#1c191e}
@media(prefers-reduced-motion:reduce){.hero-slides .hero-slide{transition:none}}

/* Project badges follow the visitor’s appearance preference. */
.hero-slide-badges>span{background:rgba(252,252,255,.92);color:#172239;border-color:rgba(23,34,57,.18)}
@media(prefers-color-scheme:dark){:where(html:not([data-theme])) .hero-slide-badges>span{background:rgba(16,20,29,.86);color:#fff;border-color:rgba(255,255,255,.24)}}:where(html[data-theme="dark"]) .hero-slide-badges>span{background:rgba(16,20,29,.86);color:#fff;border-color:rgba(255,255,255,.24)}
