/* Keep the menu and content offset in sync at every breakpoint. */
:root { --sidebar-width: 296px; }
.sidebar {
    width: var(--sidebar-width);
    padding-inline: 20px;
    overflow-x: hidden;
    scrollbar-width: thin;
}
.workspace {
    margin-left: var(--sidebar-width);
    width: calc(100% - var(--sidebar-width));
}
.sidebar .brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 0 30px;
}
.brand img {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    object-fit: contain;
}
.brand > .brand-wordmark {
    display: block;
    margin: 0;
    text-align: center;
    white-space: nowrap;
}
.brand-name {
    display: block;
    font-size: 30px;
    line-height: 1;
    letter-spacing: 2px;
    text-indent: 2px;
}
.brand .brand-sub {
    display: block;
    margin-top: 10px;
    padding: 0;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: .55em;
    /* Balance trailing letter spacing so ARENA is optically centered. */
    text-indent: .55em;
    text-align: center;
}
@media (min-width: 851px) and (max-width: 1150px) {
    :root { --sidebar-width: 280px; }
    .sidebar { padding-inline: 16px; }
}
@media (max-width: 850px) {
    .sidebar { width: min(296px, 100vw); }
    .workspace { margin-left: 0; width: 100%; }
}

/* Solar artwork: dark copy area, unobstructed faces on the right. */
.hero-solar { background: #101013; }
.hero-solar .hero-image { object-position: var(--hero-focus, right) center; opacity: 1; }
.hero-solar::after {
    background: linear-gradient(90deg, #0b0b0ef2 0%, #0b0b0eb3 32%, transparent 64%),
        linear-gradient(0deg, #10101399, transparent 35%);
}
/* Give the duo its own space when text and artwork cannot fit side by side. */
@media (max-width: 1100px) {
    .hero-solar { padding-top: calc(clamp(210px, 36vw, 320px) + 24px); padding-bottom: 65px; }
    .hero-solar .hero-image {
        height: clamp(210px, 36vw, 320px);
        object-position: var(--hero-focus, right) 25%;
    }
    .hero-solar::after {
        background: linear-gradient(180deg, transparent calc(clamp(210px, 36vw, 320px) - 60px), #101013 clamp(210px, 36vw, 320px));
    }
    .hero-solar p { max-width: 480px; }
    .hero-solar .hero-foot { left: 23px; right: 23px; letter-spacing: 2px; }
}

/* Banner words edited in Panel → Portada: one line per title row, an empty row takes no space. */
.hero .hero-line { display: block; }
.hero .hero-line:empty { display: none; }
/* "Move the text right" (Panel → Portada): only where the words sit over the artwork; the shade follows them. */
@media (min-width: 1101px) {
    .hero-solar { padding-left: calc(44px + var(--hero-shift, 0%)); }
    .hero-solar::after {
        background: linear-gradient(90deg, #0b0b0ef2 var(--hero-shift, 0%), #0b0b0eb3 calc(var(--hero-shift, 0%) + var(--hero-shade, 64%) / 2),
                transparent calc(var(--hero-shift, 0%) + var(--hero-shade, 64%))),
            linear-gradient(0deg, #10101399, transparent 35%);
    }
}
