/* Scoped service cards and galleries, including their production layout rules. */
.public-site .page-services .services-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:0}
.public-site .page-services .services-list>.service-entry{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0;overflow:hidden;color:var(--ink);border:1px solid var(--ui-border,#d5ddce);border-radius:var(--ui-card-radius,14px);background:var(--ui-surface,#fffdf8);box-shadow:var(--ui-card-shadow,0 5px 20px #20382b08)}
.public-site .page-services .services-list>.service-entry>.service-preview{display:block;flex:none;margin:0;padding:0;overflow:hidden;border-radius:calc(var(--ui-card-radius,14px) - 1px) calc(var(--ui-card-radius,14px) - 1px) 0 0;background:#20352a;box-shadow:none}
.public-site .page-services .services-list>.service-entry .service-browser{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none;transform:none;transition:none}
.public-site .page-services .services-list>.service-entry .service-preview :is(picture,img){display:block;width:100%;border-radius:0}
.public-site .page-services .services-list>.service-entry .service-preview img{height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center top;background:transparent;box-shadow:none;transform:none;filter:none;transition:none}
.public-site .page-services .services-list>.service-entry>.service-description{display:block;flex:1;min-width:0;padding:24px}
.public-site .page-services .services-list>.service-entry h2{display:block;margin:0 0 14px;font-size:clamp(32px,3vw,44px);line-height:1.1;overflow-wrap:anywhere}
.public-site .page-services .services-list>.service-entry h2 a{display:inline;min-width:0;color:inherit;text-decoration:none}
.public-site .page-services .services-list>.service-entry h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.public-site .page-services .services-list>.service-entry .source-copy{display:block;flex:none;font-size:15px;line-height:1.7}
.public-site .page-services .services-list>.service-entry .source-copy>p{margin:0 0 18px}
.public-site .page-services .services-list>.service-entry .source-copy>p:last-child{margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--ui-border,#d5ddce)}
.public-site .page-services .services-list>.service-entry .btn{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;max-width:100%;min-height:44px;margin:0;padding:10px 14px;font-size:13px;line-height:1.4;white-space:normal;text-align:left;background:var(--ui-surface-muted,#edf2e8);border-color:var(--ui-border,#d5ddce);color:var(--ui-green,#20382b);text-decoration:none}
.public-site .page-services .services-list>.service-entry .btn i{flex-shrink:0}
.public-site .page-services .services-list>.service-entry .btn:hover{background:#e4eddf;border-color:#8a9f7e;color:#15291c}
.public-site .page-services .services-list>.service-entry .service-stat-badges{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;min-width:0;margin:18px 0 0;padding:0;overflow:visible;scroll-snap-type:none;overscroll-behavior:auto}
.public-site .page-services .services-list>.service-entry .service-stat-badge{flex:0 1 auto;min-width:0;max-width:100%;padding:8px 10px;font-size:12px;line-height:1.35;white-space:normal;scroll-snap-align:none}
.public-site .page-services .services-list>.service-entry .service-stat-badge strong{white-space:nowrap}
.public-site .page-services .services-list>.service-entry .service-stat-badge>span:last-child{min-width:0;overflow-wrap:anywhere}
.public-site .page-services .services-list>.service-entry .service-stat-icon{flex-shrink:0}
@media(max-width:760px){.public-site .page-services .services-list{grid-template-columns:minmax(0,1fr);gap:24px}.public-site .page-services .services-list>.service-entry>.service-description{padding:20px}}
@media screen and (max-width:760px){
 .public-site .page-services .services-list>.service-kuulaportti .service-stat-badges{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:2px 0 10px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
 .public-site .page-services .services-list>.service-kuulaportti .service-stat-badge{flex:0 0 auto;max-width:none;min-height:40px;white-space:nowrap;scroll-snap-align:start;scroll-snap-stop:always}
 .public-site .page-services .services-list>.service-kuulaportti .service-stat-badge>span:last-child{overflow-wrap:normal}
}
@media(forced-colors:active){.public-site .page-services .services-list>.service-entry{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}.public-site .page-services .services-list>.service-entry :is(.btn,.service-stat-badge){background:Canvas;border-color:ButtonText}.public-site .page-services .services-list>.service-entry a{color:LinkText}.public-site .page-services .services-list>.service-entry :is(.service-stat-badge strong,.service-stat-icon){color:CanvasText}}
@media print{.public-site .page-services .services-list{display:block}.public-site .page-services .services-list>.service-entry{margin-bottom:20px;background:#fff;color:#000;box-shadow:none;break-inside:avoid}}
.public-site .editorial-page .service-opening .service-carousel,.public-site .editorial-page .status-showcase .service-carousel{position:static;top:auto}
.public-site .editorial-page [data-service-carousel] .service-slides{width:100%;max-width:100%;padding:0;scrollbar-width:none}
.public-site .editorial-page [data-service-carousel] .service-slides::-webkit-scrollbar{display:none}
.public-site .editorial-page [data-service-carousel] .service-slide{flex-basis:100%;border:0;border-radius:0;box-shadow:none}
.public-site .editorial-page [data-service-carousel] .service-slide img{object-fit:contain;border-radius:0;background:#e8ece4}
.public-site .page-service-kuulaportti .service-opening .service-slide img{aspect-ratio:16/9}
.public-site .editorial-page [data-service-ready] .service-carousel-arrow{display:grid;top:50%;width:48px;height:48px;padding:12px;border:1px solid #d0d8cb;border-radius:4px;background:#fffdf8f5;color:#21382b;box-shadow:0 3px 14px #10231924;transition:background .18s,color .18s}
.public-site .editorial-page [data-service-ready] .service-carousel-arrow:hover{background:#21382b;color:#fff}
.public-site .editorial-page [data-service-ready] .service-carousel-arrow:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.public-site .kuulaportti-numbers .section-heading-row{align-items:flex-start;gap:16px;flex-wrap:wrap}
.public-site .kuulaportti-numbers .section-heading-row .service-stats-updated{margin:0 0 0 auto;padding:0;border:0;border-radius:0;background:none;color:#d0ddc9;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums;white-space:normal}
.public-site .service-history .chronicle-photo .service-history-images{margin:0;min-width:0}
.public-site .service-history .chronicle-photo figure{margin:0}
.public-site .service-history .chronicle-photo .history-photo{display:block;position:relative;aspect-ratio:16/9}
.public-site .service-history .chronicle-photo .history-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0;background:#e8ece4}
.public-site .service-history .chronicle-photo figcaption{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.public-site .page-service-status #status-history :is(.history-photo,.history-photo img,.service-carousel-stage,.service-slides){border:0;border-radius:0;box-shadow:none}
/* Historical service images keep their full proportions without a decorative frame. */
.public-site :is(.page-service-kuulaportti,.page-service-status) .service-history :is(.chronicle-photo,figure,.history-photo,.history-photo img){border:0;border-radius:0;box-shadow:none;background:none}
.public-site :is(.page-service-kuulaportti,.page-service-status) .service-history .chronicle-photo .history-photo{aspect-ratio:auto}
.public-site :is(.page-service-kuulaportti,.page-service-status) .service-history .chronicle-photo .history-photo img{height:auto;max-height:none;aspect-ratio:auto;background:none}
.public-site :is(.page-service-kuulaportti,.page-service-status) .service-history .service-carousel-arrow{top:50%}
/* Screenshot previews share one stable frame; the viewer retains each full original.
   Status's single hardware photographs and in-game news cards keep their own layout. */
.public-site .editorial-page[class*="page-service-"] .service-screen .service-slide:not(.history-slide):not(.news-example),
.public-site .page-service-kuulaportti .service-history .chronicle-photo .history-photo,
.public-site .page-service-status .service-history .chronicle-photo [data-service-carousel] .history-photo{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden}
.public-site .editorial-page[class*="page-service-"] .service-screen .service-slide:not(.history-slide):not(.news-example)>img,
.public-site .page-service-kuulaportti .service-history .chronicle-photo .history-photo img,
.public-site .page-service-status .service-history .chronicle-photo [data-service-carousel] .history-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center top;background:none}
@supports(container-type:inline-size){
 .public-site .editorial-page[class*="page-service-"] .service-carousel-stage{container-type:inline-size}
 .public-site .editorial-page[class*="page-service-"] .service-carousel:not(.news-examples) .service-carousel-arrow,
 .public-site :is(.page-service-kuulaportti,.page-service-status) .service-history .service-carousel-arrow{top:28.125cqw}
}
@media(max-width:760px){.public-site .editorial-page [data-service-ready] .service-carousel-arrow{width:44px;height:44px;padding:10px}.public-site .kuulaportti-numbers .section-heading-row .service-stats-updated{margin:10px 0 0}.public-site .service-history .chronicle-entry{gap:20px}}
@media(prefers-reduced-motion:reduce){.public-site .editorial-page [data-service-ready] .service-carousel-arrow{transition:none}}
