/* Visible without JavaScript; this homepage does not use Masonry or FlexSlider. */
#carbon .cc-home-grid {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    text-align: left;
    background: #fff;
}
#carbon .cc-home-tile {
    position: absolute;
    display: block;
    min-width: 0;
    color: #111;
    text-decoration: none;
    background: #fff;
}
#carbon .cc-home-tile img {
    display: block;
    width: 100%;
    height: auto;
    background: #fff;
}
#carbon .cc-home-caption { display: none; }
#carbon .cc-home-translation { position: absolute; bottom: 6px; left: 6px; right: 6px; background: #fff; text-align: center; }
#carbon .cc-home-tile:focus-visible { outline: 3px solid #b00000; outline-offset: 2px; }
#carbon .cc-home-banner {
    position: relative;
    width: 100%;
    max-width: 1015px;
    margin: 0 auto 17px;
    border: 4px solid #fff;
    box-sizing: border-box;
    background: #fff;
}
#carbon .cc-home-slides { margin: 0; padding: 0; list-style: none; aspect-ratio: 5 / 1; }
#carbon .cc-home-slide, #carbon .cc-home-slide a { display: block; width: 100%; height: 100%; }
#carbon .cc-home-slide[hidden], #carbon .cc-home-banner-controls[hidden] { display: none; }
#carbon .cc-home-slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
#carbon .cc-home-banner-controls {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
}
#carbon .cc-home-banner:hover .cc-home-banner-controls,
#carbon .cc-home-banner:focus-within .cc-home-banner-controls { opacity: 1; }
#carbon .cc-home-banner-controls button {
    position: absolute;
    pointer-events: auto;
    color: #111;
    background: rgba(255,255,255,.8);
    border: 0;
    border-radius: 3px;
}
#carbon .cc-home-banner-controls [data-direction] { top: 50%; transform: translateY(-50%); width: 40px; height: 44px; font-size: 0; }
#carbon .cc-home-banner-controls [data-direction="-1"] { left: 4px; }
#carbon .cc-home-banner-controls [data-direction="1"] { right: 4px; }
#carbon .cc-home-banner-controls [data-direction]::before { font-size: 36px; line-height: 36px; }
#carbon .cc-home-banner-controls [data-direction="-1"]::before { content: '\2039'; }
#carbon .cc-home-banner-controls [data-direction="1"]::before { content: '\203a'; }
#carbon .cc-home-banner-controls [data-pause] { bottom: 4px; right: 4px; font-size: 11px; padding: 2px 6px; }
@media (hover: none) {
    #carbon .cc-home-banner-controls { opacity: .8; }
}
/* Local category preview: preserve the existing desktop mosaic and all links. */
@media (max-width: 768px) {
    #carbon .cc-home-grid--compact {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, max(150px, 12.5rem)), 1fr));
        gap: 10px;
        padding: 0 12px;
        box-sizing: border-box;
        aspect-ratio: auto !important;
    }
    #carbon .cc-home-grid--compact .cc-home-tile {
        position: relative;
        left: auto !important; top: auto !important; width: auto !important;
        align-self: stretch;
        border: 1px solid #e2e8f0; border-radius: 4px;
        box-shadow: 0 2px 12px rgba(15,23,42,.08);
        display: flex; flex-direction: column; align-items: center; justify-content: center;
    }
    #carbon .cc-home-grid--compact .cc-home-tile img { object-fit: contain; }
    #carbon .cc-home-grid--compact .cc-home-caption {
        display: block; width: 100%; box-sizing: border-box;
        padding: 8px; margin-top: auto;
        font: 700 max(15px, 1.25rem)/1.3 "Inter", "Helvetica Neue", Arial, sans-serif;
        text-align: center; overflow-wrap: anywhere;
    }
    #carbon .cc-home-grid--compact .cc-home-tile:focus-visible { scroll-margin-top: 110px; }
}
@media (max-width: 359px) {
    #carbon .cc-home-grid--compact { grid-template-columns: minmax(0, 1fr); }
}
