/* Migrated by tools/migrate_design_css.py from the approved 2026-08-23 public UI. */
.aside-heading h2, .events-card h2 { margin: 0 0 var(--space-sm); font-size: var(--font-size-2xl); font-weight: var(--font-weight-black); }

.events-card { padding: var(--space-lg); border-radius: var(--radius-md); background: var(--color-dark); color: var(--color-paper); }

.events-card .eyebrow { color: var(--color-field-border); }

.events-card p:not(.eyebrow) { color: var(--color-field-border); }

.events-card .text-link { color: var(--color-paper); }

.category-page { padding-bottom: var(--space-3xl); }

.category-header { display: grid; gap: var(--space-md); padding: clamp(var(--space-xl), 5vw, var(--space-3xl)) 0 var(--space-xl); }

.category-header h1 { margin: 0; font-size: clamp(var(--font-size-3xl), 6vw, var(--font-size-4xl)); font-weight: var(--font-weight-black); letter-spacing: var(--letter-spacing-tight); line-height: var(--line-height-tight); }

.category-children { display: flex; flex-wrap: wrap; gap: var(--space-sm); }

.category-children a { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: 2.75rem; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-accent); background: var(--color-paper); font-weight: var(--font-weight-bold); text-decoration: none; }

.category-children a:hover { border-color: var(--color-accent); background: var(--color-accent-soft); }

.category-news-grid { padding-top: var(--space-md); }

.section-heading h1, .section-heading h2, .article-header h1, .category-header h1, .coming-section h2 {
    font-family: var(--font-sans);
    font-weight: var(--font-weight-bold);
}

.aside-heading h2, .events-card h2 {
    font-family: var(--font-sans);
    font-size: clamp(var(--font-size-3xl), 2.5vw, var(--font-size-4xl));
    line-height: var(--line-height-tight);
}

.events-card {
    position: relative;
    min-height: 17rem;
    overflow: hidden;
    padding: var(--space-lg);
    border-radius: 0;
    background: var(--color-primary);
}

.events-card::after {
    position: absolute;
    right: -4rem;
    bottom: -5rem;
    width: 12rem;
    height: 12rem;
    border: 1px solid color-mix(in srgb, var(--color-paper) 35%, transparent);
    border-radius: 50%;
    box-shadow: var(--shadow-focus);
    content: "";
}

.events-card__symbol { position: absolute; top: 1.4rem; right: 1.4rem; font-size: var(--font-size-2xl); }

.events-card .eyebrow { color: var(--color-paper); }

.events-card p:not(.eyebrow) { max-width: 23rem; color: var(--color-surface-strong); }

.events-card .text-link { position: relative; z-index: 1; }

.category-page { background: linear-gradient(180deg, var(--color-surface-strong) 0 25rem, transparent 25rem); }

.category-header {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: var(--space-xl);
    min-height: 19rem;
    margin-bottom: var(--space-xl);
    padding: clamp(var(--space-xl), 5vw, var(--space-3xl));
    color: var(--color-paper);
    background: var(--color-primary);
}

.category-header::after {
    position: absolute;
    top: 1.5rem;
    right: 12rem;
    width: 5rem;
    height: 5rem;
    border: 1px solid color-mix(in srgb, var(--color-paper) 42%, transparent);
    border-radius: 50%;
    box-shadow: var(--shadow-focus);
    content: "";
}

.category-header__title { position: relative; z-index: 1; }

.category-header .eyebrow { color: var(--color-paper); }

.category-header h1 { max-width: 13ch; font-size: clamp(var(--font-size-4xl), 7vw, var(--font-size-4xl)); line-height: var(--line-height-tight); }

.category-header__title > p:last-child { max-width: 38rem; margin: var(--space-lg) 0 0; color: var(--color-surface-strong); }

.category-header__counter { display: grid; grid-template-columns: auto auto; align-items: end; gap: var(--space-md); }

.category-header__counter strong { font-family: var(--font-sans); font-size: var(--font-size-4xl); line-height: var(--line-height-tight); }

.category-header__counter span { color: var(--color-surface-strong); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); line-height: var(--line-height-ui); text-transform: uppercase; }

.category-children { grid-column: 1 / -1; position: relative; z-index: 1; }

.category-children a { border-color: color-mix(in srgb, var(--color-paper) 45%, transparent); color: var(--color-paper); background: color-mix(in srgb, var(--color-paper) 10%, transparent); }

.category-children a:hover { border-color: var(--color-paper); color: var(--color-primary); background: var(--color-paper); }

@media (max-width: 61.99rem) {
.category-header { grid-template-columns: 1fr; }
.category-header__counter { justify-self: start; }
.category-header::after { right: 3rem; }
}

@media (max-width: 47.99rem) {
.category-header { min-height: 24rem; margin-inline: calc(-1 * var(--space-md)); padding: var(--space-xl) var(--space-md); }
.category-header h1 { font-size: clamp(var(--font-size-4xl), 16vw, var(--font-size-4xl)); overflow-wrap: anywhere; }
.category-header::after { top: 2rem; right: -1rem; }
.category-header__counter strong { font-size: var(--font-size-4xl); }
}

/* Companies: catalog, identity pages and portfolio. */
.companies-catalog-layout { align-items: start; }
.companies-results { min-width: 0; }
.company-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }
.company-card { position: relative; display: grid; grid-template-columns: minmax(9rem, .38fr) minmax(0, 1fr); min-height: 17rem; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast); }
.company-card:hover, .company-card:focus-within { border-color: var(--color-field-border); box-shadow: var(--shadow-card); transform: translateY(-2px); }
.company-card__logo { display: grid; min-height: 100%; place-items: center; padding: var(--space-lg); border: 0; border-right: 1px solid var(--color-border); background: var(--color-surface); }
.company-card__logo img { width: 100%; height: 8rem; object-fit: contain; }
.company-card__body { display: flex; min-width: 0; flex-direction: column; padding: var(--space-lg); }
.company-card__types { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.company-card__types span { padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-sm); color: var(--color-accent); background: var(--color-accent-soft); font-family: var(--arvr-mono); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.company-card h2 { margin: var(--space-md) 0 var(--space-sm); font-size: var(--font-size-2xl); line-height: var(--line-height-tight); }
.company-card h2 a::after { position: absolute; inset: 0; content: ""; }
.company-card h2 a:focus-visible { outline: 0; }
.company-card:has(h2 a:focus-visible) { outline: 3px solid var(--color-ring); outline-offset: 3px; }
.company-card p { margin: 0; color: var(--color-muted); }
.company-card__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); margin-top: auto; padding-top: var(--space-lg); color: var(--color-muted); font-size: var(--font-size-sm); }
.company-card__footer > span { display: inline-flex; align-items: center; gap: var(--space-xs); }
.company-card__link { color: var(--color-accent); font-weight: var(--font-weight-bold); }

.company-hero { padding: var(--space-2xl) 0; border-bottom: 1px solid var(--color-border); background: linear-gradient(135deg, var(--color-surface), var(--color-paper)); }
.company-hero__inner { display: grid; grid-template-columns: minmax(12rem, .35fr) minmax(0, 1fr); align-items: center; gap: clamp(var(--space-xl), 5vw, var(--space-3xl)); }
.company-hero__logo { display: grid; width: 100%; min-height: 13rem; place-items: center; padding: var(--space-xl); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); box-shadow: var(--shadow-card); }
.company-hero__logo img { width: 100%; height: 9rem; object-fit: contain; }
.company-hero__content h1 { margin: var(--space-md) 0; font-size: var(--page-intro-title-size); line-height: var(--line-height-tight); text-wrap: balance; }
.company-hero__content > p { max-width: 65ch; margin: 0; color: var(--color-muted); font-size: var(--page-intro-summary-size); }
.company-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }
.company-detail__content { padding-block: var(--space-2xl); }
.company-detail__layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(18rem, .7fr); gap: var(--space-xl); margin: 0; }
.company-about { padding: 0; border: 0; background: transparent; }
.company-about h2, .company-map-section h2, .company-portfolio h2, .company-related h2 { margin-bottom: var(--space-lg); font-size: var(--font-size-3xl); }
.company-contacts, .portfolio-source { align-self: start; padding: var(--space-lg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); box-shadow: var(--shadow-card); }
.company-contacts__heading { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-md); }
.company-contacts__heading h2 { margin: 0; font-size: var(--font-size-xl); }
.company-contacts__heading > .bi { color: var(--color-accent); }
.company-contacts > a, .company-contacts > div, .portfolio-source > a { display: flex; align-items: flex-start; gap: var(--space-md); min-height: 3rem; padding: var(--space-sm); border-radius: var(--radius-sm); color: var(--color-ink); text-decoration: none; }
.company-contacts > a:hover, .company-contacts > a:focus-visible, .portfolio-source > a:hover, .portfolio-source > a:focus-visible { background: var(--color-surface); }
.company-contacts span, .portfolio-source span { display: grid; min-width: 0; overflow-wrap: anywhere; }
.company-contacts small, .portfolio-source small { color: var(--color-muted); }
.company-contacts__empty { color: var(--color-muted); }
.company-map-section { display: grid; grid-template-columns: 1fr; gap: var(--space-lg); margin-top: var(--space-2xl); padding: 0; border: 0; background: transparent; }
.company-map-section__intro { display: flex; align-items: end; justify-content: space-between; gap: var(--space-lg); }
.company-map-section__intro h2, .company-map-section__intro p { margin-bottom: 0; }
.company-map { min-height: 22rem; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }
.company-portfolio, .company-related { margin-top: var(--space-3xl); scroll-margin-top: calc(var(--header-height) + var(--space-lg)); }
.portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }
.portfolio-card { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.portfolio-card:hover, .portfolio-card:focus-within { border-color: var(--color-field-border); box-shadow: var(--shadow-card); }
.portfolio-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--color-surface); }
.portfolio-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-fast); }
.portfolio-card:hover .portfolio-card__media img { transform: scale(1.018); }
.portfolio-card__placeholder { display: grid; height: 100%; place-items: center; color: var(--color-muted); font-size: var(--font-size-3xl); }
.portfolio-card__body { padding: var(--space-lg); }
.portfolio-card__meta { display: flex; justify-content: space-between; gap: var(--space-md); color: var(--color-accent); font-family: var(--arvr-mono); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.portfolio-card h3 { margin: var(--space-sm) 0; font-size: var(--font-size-xl); }
.portfolio-card__body p { color: var(--color-muted); }
.portfolio-card__link { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--color-accent); font-weight: var(--font-weight-bold); }

.portfolio-detail__header { max-width: none; margin: 0; padding: var(--space-2xl) 0; border-bottom: 1px solid var(--color-border); background: var(--color-surface); }
.portfolio-detail__header .container { max-width: 72rem; }
.portfolio-detail__company { display: inline-flex; align-items: center; gap: var(--space-xs); margin-bottom: var(--space-xl); color: var(--color-muted); font-weight: var(--font-weight-bold); text-decoration: none; }
.portfolio-detail__header h1 { margin: var(--space-sm) 0 var(--space-md); font-size: var(--page-intro-title-size); line-height: var(--line-height-tight); text-wrap: balance; }
.portfolio-detail__lead { max-width: 65ch; color: var(--color-muted); font-size: var(--font-size-xl); }
.portfolio-facts { display: flex; flex-wrap: wrap; gap: var(--space-lg); margin: var(--space-xl) 0; }
.portfolio-facts div { display: grid; gap: var(--space-xs); min-width: 9rem; }
.portfolio-facts dt { color: var(--color-muted); font-family: var(--arvr-mono); font-size: var(--font-size-xs); text-transform: uppercase; }
.portfolio-facts dd { margin: 0; font-weight: var(--font-weight-bold); }
.portfolio-detail__content { padding-block: var(--space-2xl); }
.portfolio-gallery { display: grid; gap: var(--space-xl); }
.portfolio-gallery figure { margin: 0; }
.portfolio-gallery img, .portfolio-gallery video { display: block; width: 100%; max-height: 48rem; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); background: var(--color-ink); object-fit: contain; }
.portfolio-gallery figcaption { padding: var(--space-sm) 0; color: var(--color-muted); font-size: var(--font-size-sm); }
.portfolio-detail__layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(17rem, .65fr); gap: var(--space-xl); align-items: start; margin-top: var(--space-2xl); }
.portfolio-description { max-width: 72ch; margin: 0; }
.portfolio-source { display: grid; gap: var(--space-xs); }
.portfolio-source h2 { margin: 0 0 var(--space-sm); font-size: var(--font-size-xl); }
.portfolio-more { margin-top: var(--space-3xl); }
.portfolio-more__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); }
.portfolio-more__grid a { display: grid; gap: var(--space-xs); min-height: 9rem; padding: var(--space-lg); border: 1px solid var(--color-border); border-radius: var(--radius-md); color: var(--color-ink); text-decoration: none; }
.portfolio-more__grid a:hover, .portfolio-more__grid a:focus-visible { border-color: var(--color-accent); background: var(--color-accent-soft); }
.portfolio-more__grid span { color: var(--color-muted); font-size: var(--font-size-sm); }
.portfolio-more__grid .bi { margin-top: auto; color: var(--color-accent); }

@media (max-width: 74.99rem) {
    .company-grid { grid-template-columns: 1fr; }
}
@media (max-width: 61.99rem) {
    .company-detail__layout, .portfolio-detail__layout { grid-template-columns: 1fr; }
    .company-contacts, .portfolio-source { width: 100%; }
    .portfolio-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
    .company-card { grid-template-columns: 1fr; }
    .company-card__logo { min-height: 9rem; border-right: 0; border-bottom: 1px solid var(--color-border); }
    .company-card__logo img { height: 6rem; }
    .company-hero__inner { grid-template-columns: 1fr; }
    .company-hero__logo { min-height: 9rem; padding: var(--space-lg); }
    .company-hero__logo img { height: 6rem; }
    .company-map-section__intro { align-items: stretch; flex-direction: column; }
    .portfolio-grid, .portfolio-more__grid { grid-template-columns: 1fr; }
    .portfolio-detail__lead { font-size: var(--font-size-md); }
}
@media (prefers-reduced-motion: reduce) {
    .company-card, .portfolio-card, .portfolio-card__media img { transition: none; }
    .company-card:hover, .portfolio-card:hover .portfolio-card__media img { transform: none; }
}

@media (max-width: 1199.98px) {
    .clubs-view-switch { display: flex; }
    .club-results-layout { grid-template-columns: minmax(0, 1fr); }
    .club-map-shell { display: none; }
    .club-results-layout.is-map-view .club-grid { display: none; }
    .club-results-layout.is-map-view .club-map-shell { display: block; }
    .club-results-layout.is-map-view .club-map { min-height: min(68vh, 34rem); }
}

@media (max-width: 767.98px) {
    .club-hero__inner, .branch-hero__inner { grid-template-columns: minmax(0, 1fr); }
    .club-hero__logo { min-height: 9rem; padding: var(--space-lg); }
    .club-hero__logo img { max-height: 7rem; }
    .club-hero__metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .club-card__actions { align-items: stretch; flex-direction: column; }
    .club-card__actions :is(.button, .company-card__link) { justify-content: center; width: 100%; }
    .clubs-view-switch { width: 100%; }
    .clubs-view-switch button { flex: 1; justify-content: center; }
    .branch-features__grid, .branch-gallery > div { grid-template-columns: minmax(0, 1fr); }
}

.aside-heading h2,
.events-card h2 {
    margin-bottom: var(--space-sm);
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
}

.editorial-aside > .events-card {
    min-height: 15rem;
    border: 0 !important;
    color: var(--color-paper);
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--color-paper) 22%, transparent), transparent 34%),
        linear-gradient(135deg, var(--color-primary), var(--color-primary) 52%, var(--color-accent));
    box-shadow: var(--shadow-card) !important;
}

.events-card::after { display: none; }

.events-card .eyebrow,
.events-card p:not(.eyebrow) { color: var(--color-paper); }

.events-card .text-link { color: var(--color-paper); }

.category-page,
.article-page { background: var(--color-bg); }

.category-header {
    min-height: 18rem;
    margin-bottom: var(--space-xl);
    padding: clamp(var(--space-xl), 5vw, var(--space-3xl));
    border: 1px solid color-mix(in srgb, var(--color-accent) 9%, transparent);
    border-radius: var(--radius-lg);
    color: var(--color-ink);
    background:
        radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--color-primary) 13%, transparent), transparent 28%),
        linear-gradient(135deg, var(--color-paper), var(--color-accent-soft));
}

.category-header::after { display: none; }

.category-header .eyebrow { color: var(--color-primary); }

.category-header h1 {
    font-size: clamp(var(--font-size-4xl), 6vw, var(--font-size-4xl));
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
}

.category-header__title > p:last-child,
.category-header__counter span { color: var(--color-muted); }

.category-header__counter strong { color: var(--color-accent); font-family: var(--font-sans); font-size: var(--font-size-4xl); }

.category-children a {
    border-color: var(--color-border);
    color: var(--color-accent);
    background: var(--color-paper);
}

.category-children a:hover {
    border-color: var(--color-field-border);
    color: var(--color-accent);
    background: var(--color-accent-soft);
}

@media (max-width: 47.99rem) {
.events-card { min-height: 14rem; }
.category-header { min-height: 20rem; margin-inline: 0; padding: var(--space-lg); border-radius: var(--radius-md); }
.category-header h1 { font-size: clamp(var(--font-size-4xl), 13vw, var(--font-size-4xl)); }
}

.catalog-heading { margin-bottom: var(--space-xl); }

.catalog-heading h1, .company-hero h1, .portfolio-detail h1 { margin: 0 0 var(--space-md); font-size: clamp(var(--font-size-3xl), 5vw, var(--font-size-4xl)); font-weight: var(--font-weight-black); letter-spacing: var(--letter-spacing-tight); }

.catalog-heading p, .company-hero__content > p { max-width: 68ch; color: var(--color-muted); font-size: var(--font-size-md); }

.company-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }

.company-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }

.company-card__logo { display: grid; min-height: 12rem; place-items: center; padding: var(--space-lg); border-bottom: 1px solid var(--color-border); background: linear-gradient(145deg, var(--color-paper), var(--color-surface)); }

.company-card__logo img, .company-hero__logo img { width: 100%; height: 11rem; object-fit: contain; }

.company-card__body { padding: var(--space-lg); }

.company-card__types, .tag-list { display: flex; flex-wrap: wrap; gap: var(--space-sm); }

.company-card__types span, .tag-list span { padding: var(--space-sm) var(--space-sm); border-radius: var(--ds-primitive-radius-full); background: color-mix(in srgb, var(--color-accent) 10%, white); color: var(--color-accent); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }

.company-card h2 { margin: var(--space-md) 0 var(--space-sm); font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); }

.company-card h2 a, .portfolio-card h3 a { color: var(--color-ink); text-decoration: none; }

.company-card p { color: var(--color-muted); }

.company-card__link { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: 44px; font-weight: var(--font-weight-bold); }

.catalog-empty { grid-column: 1 / -1; padding: var(--space-3xl) var(--space-lg); border: 1px dashed var(--color-border); border-radius: var(--radius-xl); text-align: center; }

.catalog-empty > .bi { font-size: var(--font-size-3xl); color: var(--color-accent); }

.catalog-pagination { display: flex; align-items: center; justify-content: center; gap: var(--space-lg); margin-top: var(--space-xl); }

.catalog-pagination a { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: 44px; }

.company-hero { align-items: center; padding: clamp(var(--space-md), 4vw, var(--space-2xl)); border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-paper); }

.company-hero__logo { display: grid; width: min(35%, 28rem); min-height: 17rem; place-items: center; padding: var(--space-xl); border-radius: var(--radius-lg); background: var(--color-surface); }

.company-hero__content { flex: 1; }

.company-detail__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); margin-top: var(--space-2xl); }

.company-about, .company-contacts, .company-map-section { padding: clamp(var(--space-md), 3vw, var(--space-xl)); border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-paper); }

.company-about h2, .company-contacts h2, .company-map-section h2, .company-portfolio h2, .portfolio-description h2 { font-weight: var(--font-weight-black); }

.company-contacts { display: grid; align-content: start; gap: var(--space-sm); }

.company-contacts > a, .company-contacts > div { display: flex; align-items: flex-start; gap: var(--space-md); min-height: 44px; padding: var(--space-sm); border-radius: var(--radius-sm); color: var(--color-ink); text-decoration: none; }

.company-contacts > a:hover { background: var(--color-surface); }

.company-contacts .bi { color: var(--color-accent); font-size: var(--font-size-xl); }

.company-contacts span { display: grid; overflow-wrap: anywhere; }

.company-contacts small { color: var(--color-muted); }

.company-map-section { display: grid; grid-template-columns: minmax(14rem, .65fr) minmax(0, 1.35fr); align-items: center; margin-top: var(--space-lg); }

.company-map { min-height: 22rem; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-surface); }

.company-map__placeholder { display: grid; min-height: 22rem; place-items: center; align-content: center; gap: var(--space-sm); color: var(--color-muted); }

.company-map__placeholder .bi { font-size: var(--font-size-3xl); }

.company-portfolio { margin-top: var(--space-2xl); }

.company-logo-option { display: grid; gap: var(--space-sm); padding: var(--space-sm); border: 2px solid var(--color-border); border-radius: var(--radius-md); cursor: pointer; }

.company-logo-option:has(input:checked), .company-logo-option.is-selected { border-color: var(--color-accent); box-shadow: var(--shadow-focus); }

.company-logo-option img { width: 100%; height: 7rem; object-fit: contain; }

@media (max-width: 991.98px) {
.company-grid, .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.company-detail__layout, .company-map-section { grid-template-columns: 1fr; }
.company-hero__logo { width: 40%; }
}

@media (max-width: 767.98px) {
.company-grid, .portfolio-grid, .case-media-fields { grid-template-columns: 1fr; }
.company-hero__logo { width: 100%; min-height: 12rem; }
.company-hero__logo img { height: 9rem; }
.catalog-pagination { justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
.company-card, .portfolio-card__media img { transition: none; }
.company-card:hover, .portfolio-card:hover img { transform: none; }
}

.club-catalog__heading { margin-bottom: var(--space-lg); }

:is(.club-filter, .catalog-toolbar-filter) { display: grid; align-items: end; gap: var(--space-md); margin-bottom: var(--space-lg); padding: var(--space-lg); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-paper); }
:is(.club-filter__heading, .catalog-toolbar-filter__heading) { display: flex; grid-column: 1 / -1; align-items: flex-end; justify-content: space-between; gap: var(--space-lg); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-border); }
.club-filter { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
:is(.club-filter, .catalog-toolbar-filter) select { width: 100%; min-width: 0; max-width: 100%; }

.club-results-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(20rem, .6fr); gap: var(--space-lg); align-items: start; }

.club-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }

.club-card { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }

.club-card:hover { border-color: var(--color-field-border); box-shadow: var(--shadow-card); }

.club-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--color-surface); }

.club-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-fast); }

.club-card:hover .club-card__media img { transform: scale(1.018); }

.clubs-catalog-layout { align-items: start; }

.clubs-results { min-width: 0; }

.clubs-page .games-filters .form-field { display: grid; gap: var(--space-xs); padding: var(--space-md); border-bottom: 1px solid var(--color-border); }

.clubs-page .games-filters .form-field label { color: var(--color-muted); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-wide); text-transform: uppercase; }

.clubs-page .games-filters .form-field select { width: 100%; min-height: 2.6rem; padding-inline: var(--space-sm); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-ink); }

.clubs-view-switch { display: none; align-items: center; gap: var(--space-xs); }

.clubs-view-switch button { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 2.75rem; padding: var(--space-xs) var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-muted); background: var(--color-paper); font-weight: var(--font-weight-bold); cursor: pointer; }

.clubs-view-switch button.is-active { border-color: var(--color-ink); color: var(--color-paper); background: var(--color-ink); }

.club-card__media > span { display: grid; height: 100%; place-items: center; color: var(--color-muted); font-size: var(--font-size-3xl); }

.club-card__media > small { position: absolute; left: var(--space-sm); bottom: var(--space-sm); padding: var(--space-xs) var(--space-sm); border-radius: var(--ds-primitive-radius-full); color: var(--color-paper); background: color-mix(in srgb, var(--color-ink) 82%, transparent); font-weight: var(--font-weight-bold); }

.club-card__body { padding: var(--space-lg); }

.club-card__brand { display: flex; align-items: center; gap: var(--space-sm); min-width: 0; }

.club-card__brand img { width: 3rem; height: 1.75rem; object-fit: contain; }

.club-card__brand > span:first-of-type { margin-right: auto; overflow: hidden; color: var(--color-accent); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); text-overflow: ellipsis; white-space: nowrap; }

.club-status { flex: 0 0 auto; padding: var(--space-2xs) var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--ds-primitive-radius-full); color: var(--color-muted); font-family: var(--arvr-mono); font-size: var(--font-size-xs); }

.club-status--open { border-color: var(--color-success); color: var(--color-success); }

.club-card__body > p { margin: 0; color: var(--color-accent); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }

.club-card h2, .club-card h3 { margin: var(--space-xs) 0; font-size: var(--font-size-xl); font-weight: var(--font-weight-black); }

.club-card h2 a, .club-card h3 a { text-decoration: none; }

.club-card address, .branch-hero address { display: flex; gap: var(--space-sm); margin: var(--space-sm) 0; color: var(--color-muted); font-style: normal; }

.club-card__tags { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-md); }

.club-card__tags span { padding: var(--space-xs) var(--space-sm); border-radius: var(--ds-primitive-radius-full); background: var(--color-accent-soft); color: var(--color-accent); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }

.club-card__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md); margin-top: var(--space-lg); }

.club-card__actions .button { min-height: 2.5rem; padding-inline: var(--space-md); font-size: var(--font-size-xs); }

.club-map-shell__fallback { display: inline-flex; align-items: center; gap: var(--space-xs); margin-top: var(--space-sm); font-weight: var(--font-weight-bold); }

.club-map-shell { position: sticky; top: calc(var(--arvr-header-height, var(--arvr-anchor-offset)) + var(--space-md)); z-index: var(--ds-primitive-z-content); }

.club-map { min-height: 34rem; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }

.club-map__status { display: grid; min-height: inherit; place-items: center; align-content: center; gap: var(--space-sm); color: var(--color-muted); }

.club-map__status .bi { color: var(--color-accent); font-size: var(--font-size-3xl); }

.club-hero, .branch-hero { display: grid; grid-template-columns: minmax(16rem, .7fr) minmax(0, 1.3fr); align-items: center; gap: clamp(var(--space-lg), 4vw, var(--space-3xl)); padding: clamp(var(--space-md), 4vw, var(--space-2xl)); border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-paper); }

.club-hero, .branch-hero { display: block; padding: 0; border-inline: 0; border-radius: 0; }

.club-hero__inner, .branch-hero__inner { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); align-items: center; gap: clamp(var(--space-lg), 5vw, var(--space-3xl)); padding-block: clamp(var(--space-xl), 5vw, var(--space-3xl)); }

.club-hero__logo { display: grid; min-height: 14rem; place-items: center; padding: var(--space-xl); border: 1px solid var(--color-border); background: var(--color-surface); }

.club-hero__logo img { width: min(100%, 24rem); max-height: 12rem; object-fit: contain; }

.club-hero__logo > .bi { font-size: var(--font-size-4xl); }

.club-hero__content > p:not(.eyebrow) { max-width: 48rem; color: var(--color-muted); font-size: var(--font-size-lg); }

.club-hero__metrics { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }

.club-hero__metrics span { display: flex; align-items: baseline; gap: var(--space-xs); padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-muted); }

.club-hero__metrics strong { color: var(--color-ink); font-family: var(--arvr-display); font-size: var(--font-size-2xl); }

.club-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }

.club-detail__content, .branch-detail__content { padding-block: var(--space-2xl); }

.club-about h2, .club-contact-panel h2, .branch-sidebar h2, .branch-features h2 { margin-top: 0; }

.club-service-summary { padding-top: var(--space-md); border-top: 1px solid var(--color-border); }

.club-service-summary h3 { margin: 0 0 var(--space-sm); font-size: var(--font-size-md); }

.club-verification { display: flex; align-items: flex-start; gap: var(--space-sm); padding: var(--space-md); border: 1px solid var(--color-success); color: var(--color-success); background: color-mix(in srgb, var(--color-success) 7%, var(--color-paper)); font-size: var(--font-size-sm); }

.club-verification--stale { border-color: var(--color-warning); color: var(--color-warning); background: color-mix(in srgb, var(--color-warning) 7%, var(--color-paper)); }

.branch-hero__inner { grid-template-columns: minmax(0, .8fr) minmax(24rem, 1.2fr); }

.branch-hero__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.branch-hero__brand { display: inline-flex; margin-bottom: var(--space-md); color: var(--color-accent); font-family: var(--arvr-mono); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-caps); text-decoration: none; text-transform: uppercase; }

.branch-hero address span { display: grid; }

.branch-hero address small { margin-top: var(--space-xs); color: var(--color-muted); }

.branch-main { display: grid; gap: var(--space-lg); }

.branch-age { display: flex; align-items: center; gap: var(--space-sm); margin: var(--space-lg) 0 0; font-weight: var(--font-weight-bold); }

.club-related { margin-top: var(--space-3xl); }

.club-hero__logo { display: grid; min-height: 16rem; place-items: center; border-radius: var(--radius-lg); background: var(--color-surface); }

.club-hero__logo img { width: 85%; height: 12rem; object-fit: contain; }

.club-hero h1, .branch-hero h1 { margin: 0 0 var(--space-md); font-size: clamp(var(--font-size-3xl), 4vw, var(--font-size-4xl)); font-weight: var(--font-weight-black); line-height: var(--line-height-tight); letter-spacing: var(--letter-spacing-tight); }

.club-detail__body, .branch-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); gap: var(--space-lg); margin-top: var(--space-lg); }

.club-detail__body > *, .branch-layout > *, .branch-sidebar section, .branch-features, .branch-map-section { padding: clamp(var(--space-md), 3vw, var(--space-xl)); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); }

.club-contact-panel, .branch-sidebar, .branch-sidebar section { display: grid; align-content: start; gap: var(--space-sm); }

.club-contact-panel a, .branch-sidebar a { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: var(--space-sm); border-radius: var(--radius-sm); text-decoration: none; }

.club-contact-panel a:hover, .branch-sidebar a:hover { background: var(--color-surface); }

.club-branches, .branch-gallery, .branch-map-section { margin-top: var(--space-2xl); }

.club-card--compact { min-height: 100%; }

.branch-map-section .club-map { min-height: 28rem; }

.club-request-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); }

.club-request-list article, .club-invitation { padding: var(--space-lg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); }

.club-invitation { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }

.club-invitation span, .club-team__member span { display: grid; }

.club-team { margin-top: var(--space-lg); border-top: 1px solid var(--color-border); }

.club-team summary { min-height: 44px; padding: var(--space-md) 0; cursor: pointer; font-weight: var(--font-weight-bold); }

.club-team__member { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: var(--space-sm); border-radius: var(--radius-sm); background: var(--color-surface); }

.club-invite-form { display: grid; grid-template-columns: minmax(12rem, 1fr) auto; gap: var(--space-sm); margin: var(--space-md) 0; }

.club-invite-form label { grid-column: 1 / -1; font-weight: var(--font-weight-bold); }

.map-picker .club-map { min-height: 26rem; }
.map-picker .club-map[hidden] { display: none; }

@media (max-width: 1199.98px) {
.club-results-layout { grid-template-columns: 1fr; }
.club-map-shell { position: static; }
.club-map { min-height: 26rem; }
}

@media (max-width: 991.98px) {
:is(.club-filter, .catalog-toolbar-filter) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.club-hero, .branch-hero, .club-hero__inner, .branch-hero__inner, .club-detail__body, .branch-layout { grid-template-columns: minmax(0, 1fr); }
.branch-gallery > div, .club-request-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
:is(.club-filter, .catalog-toolbar-filter) .button { width: 100%; }
.club-grid { grid-template-columns: minmax(0, 1fr); }
.club-catalog__heading h1, .club-catalog__heading p, .catalog-empty h2, .catalog-empty p { overflow-wrap: anywhere; }
.catalog-empty { min-width: 0; padding-inline: var(--space-md); }
.club-invitation, .club-team__member, .map-picker__actions { align-items: stretch; flex-direction: column; }
.club-invite-form { grid-template-columns: 1fr; }
.club-invite-form label { grid-column: auto; }
.club-map, .map-picker .club-map { min-height: 21rem; }
}

@media (prefers-reduced-motion: reduce) {
.club-card, .club-card__media img { transition: none; }
.club-card:hover .club-card__media img { transform: none; }
}

.catalog-page { padding-bottom: var(--space-3xl); }

.catalog-hero { overflow: hidden; color: var(--color-on-dark); background: linear-gradient(128deg, var(--color-ink), var(--color-dark-soft) 65%, var(--color-dark-soft)); }

.catalog-hero--howto { background: linear-gradient(128deg, var(--color-ink), var(--color-dark-soft) 65%, var(--color-success)); }

.catalog-hero__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xl); min-height: 20rem; padding-block: var(--space-3xl); }

.catalog-hero h1 { max-width: 18ch; margin: 0; font-size: clamp(var(--font-size-3xl), 6vw, var(--font-size-4xl)); font-weight: var(--font-weight-black); letter-spacing: var(--letter-spacing-tight); line-height: var(--line-height-tight); }

.catalog-hero p:not(.eyebrow) { max-width: 48rem; margin: var(--space-md) 0 0; color: var(--color-border); font-size: var(--font-size-lg); }

.catalog-hero__inner > span { display: grid; flex: 0 0 auto; width: clamp(7rem, 16vw, 13rem); aspect-ratio: 1; place-items: center; border: 1px solid color-mix(in srgb, var(--color-paper) 18%, transparent); border-radius: 50%; color: var(--color-paper); background: color-mix(in srgb, var(--color-paper) 7%, transparent); }

.catalog-hero__inner > span .bi { font-size: clamp(var(--font-size-4xl), 8vw, var(--font-size-4xl)); }

.catalog-layout { display: grid; grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr); align-items: start; gap: var(--space-xl); padding-top: var(--space-2xl); }

.catalog-filter-toggle,
.catalog-masthead__mark { display: none; }
.catalog-filters { position: sticky; top: calc(var(--arvr-header-height, var(--arvr-anchor-offset)) + var(--space-md)); max-height: calc(100dvh - var(--arvr-header-height, var(--arvr-anchor-offset)) - var(--space-xl)); overflow-y: auto; z-index: var(--ds-primitive-z-content); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); box-shadow: var(--shadow-sm); scrollbar-width: thin; scrollbar-color: var(--color-border) transparent; }
.catalog-filters::-webkit-scrollbar,
.catalog-filters details > div::-webkit-scrollbar { width: .35rem; height: .35rem; }
.catalog-filters::-webkit-scrollbar-track,
.catalog-filters details > div::-webkit-scrollbar-track { background: transparent; }
.catalog-filters::-webkit-scrollbar-thumb,
.catalog-filters details > div::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: var(--ds-primitive-radius-full); }
.catalog-filters::-webkit-scrollbar-thumb:hover,
.catalog-filters details > div::-webkit-scrollbar-thumb:hover { background: var(--color-muted); }

.catalog-search { padding: var(--space-md); }

.catalog-search label { display: block; margin-bottom: var(--space-sm); font-weight: var(--font-weight-bold); }

.catalog-search > div { display: flex; align-items: center; gap: var(--space-sm); min-height: 3rem; padding-inline: var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }

.catalog-search input { min-width: 0; width: 100%; border: 0; outline: 0; }

.catalog-filters details { border-top: 1px solid var(--color-border); }

.catalog-filters summary { display: flex; align-items: center; justify-content: space-between; min-height: 3.25rem; padding: var(--space-md) var(--space-md); font-weight: var(--font-weight-black); cursor: pointer; }

.catalog-filters details > div { display: grid; max-height: 14rem; gap: var(--space-sm); overflow-y: auto; padding: 0 var(--space-md) var(--space-md); scrollbar-width: thin; scrollbar-color: var(--color-border) transparent; }

.catalog-filters details label, .catalog-filters details a { display: flex; align-items: center; gap: var(--space-sm); min-height: 2rem; color: var(--color-ink); text-decoration: none; }

.catalog-filters input[type="checkbox"] { width: 1.1rem; height: 1.1rem; accent-color: var(--color-accent); }

.catalog-range { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.catalog-range label { display: grid !important; gap: var(--space-xs); }

.catalog-range input { min-width: 0; width: 100%; padding: var(--space-sm); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }

.catalog-filter-actions { display: flex !important; align-items: center; justify-content: space-between; padding: var(--space-md) !important; border-top: 1px solid var(--color-border); }

.catalog-filter-actions a { color: var(--color-accent) !important; font-weight: var(--font-weight-bold); }

.catalog-results { min-width: 0; }

.catalog-results > header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); min-height: 3rem; margin-bottom: var(--space-lg); }

.catalog-results > header p { margin: 0; color: var(--color-muted); }

.catalog-results > header form { display: flex; align-items: center; gap: var(--space-sm); }

.catalog-results select { min-height: 2.75rem; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-paper); }

.catalog-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }

.catalog-card { overflow: hidden; min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast); }

.catalog-card:hover { border-color: var(--color-field-border); box-shadow: var(--shadow-card); transform: translateY(-2px); }

.catalog-card__media { display: grid; overflow: hidden; aspect-ratio: 16 / 9; place-items: center; color: var(--color-accent); background: var(--color-surface); font-size: var(--font-size-4xl); }

.catalog-card__media img { width: 100%; height: 100%; object-fit: cover; }

.catalog-card__body { display: flex; min-height: 20rem; padding: var(--space-lg); flex-direction: column; }

.catalog-card__body h2 { margin: 0; font-size: var(--font-size-xl); font-weight: var(--font-weight-black); line-height: var(--line-height-tight); }

.catalog-card__body h2 a { text-decoration: none; }

.catalog-card__body > p:not(.eyebrow) { color: var(--color-muted); }

.catalog-card__body dl { display: grid; gap: var(--space-sm); margin: auto 0 var(--space-md); }

.catalog-card__body dl div { display: flex; justify-content: space-between; gap: var(--space-sm); font-size: var(--font-size-sm); }

.catalog-card__body dt { color: var(--color-muted); font-weight: var(--font-weight-medium); }

.catalog-card__body dd { margin: 0; font-weight: var(--font-weight-bold); text-align: right; }

.catalog-card__link { display: inline-flex; align-items: center; gap: var(--space-sm); color: var(--color-accent); font-weight: var(--font-weight-black); text-decoration: none; }

.catalog-pagination { display: flex; align-items: center; justify-content: center; gap: var(--space-lg); margin-top: var(--space-xl); }

.catalog-pagination a { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 2.75rem; color: var(--color-accent); font-weight: var(--font-weight-bold); text-decoration: none; }

.catalog-pagination-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md); margin-top: var(--space-2xl); padding-top: var(--space-xl); border-top: 1px solid var(--arvr-rule); }

@media (max-width: 575.98px) {
    .catalog-pagination-wrap { flex-direction: column; align-items: flex-start; gap: var(--space-sm); }
}

.howto-meta, .detail-chips { display: flex; flex-wrap: wrap; gap: var(--space-sm); }

.howto-meta span, .detail-chips span { display: inline-flex; align-items: center; gap: var(--space-xs); padding: var(--space-sm) var(--space-sm); border-radius: var(--ds-primitive-radius-full); background: var(--color-surface); color: var(--color-muted); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }

.detail-layout, .howto-detail__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, 23rem); align-items: start; gap: var(--space-2xl); }

.related-grid > a, .equipment-mini { display: flex; align-items: center; gap: var(--space-md); min-width: 0; padding: var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-paper); text-decoration: none; }

.related-grid small, .equipment-mini small { display: block; color: var(--color-muted); }

.related-content { margin-top: var(--space-3xl); }
.related-content__heading { margin-bottom: var(--space-xl); }
.related-content__groups { display: grid; gap: var(--space-2xl); }
.related-content__group { min-width: 0; }
.related-content__group-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-md); border-bottom: 1px solid var(--color-border); padding-bottom: var(--space-sm); }
.related-content__group-heading h3 { margin: 0; font-family: var(--arvr-display); font-size: var(--font-size-lg); }
.related-content__group-heading > span { color: var(--color-muted); font-family: var(--arvr-mono); font-size: var(--font-size-sm); }
.related-content__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); }
.related-content-card { min-width: 0; border: 1px solid var(--color-border); background: var(--color-paper); }
.related-content-card > a { position: relative; display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); min-height: 100%; color: inherit; text-decoration: none; }
.related-content-card__media { display: grid; min-height: 6.5rem; place-items: center; overflow: hidden; background: var(--color-surface-muted); }
.related-content-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--motion-duration-fast) var(--motion-easing-standard); }
.related-content-card__media > .bi { font-size: var(--icon-size-xl); }
.related-content-card__copy { display: flex; min-width: 0; flex-direction: column; gap: var(--space-xs); padding: var(--space-md); }
.related-content-card__copy small { color: var(--color-muted); font-family: var(--arvr-mono); font-size: var(--font-size-xs); text-transform: uppercase; }
.related-content-card__copy strong { overflow-wrap: anywhere; }
.related-content-card__copy > span { color: var(--color-muted); font-size: var(--font-size-sm); }
.related-content-card__arrow { position: absolute; right: var(--space-sm); top: var(--space-sm); }
.related-content-card > a:hover .related-content-card__media img { transform: scale(1.03); }
.related-content-card > a:focus-visible, .related-content__more:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: var(--focus-ring-offset); }
.related-content__more { display: inline-flex; align-items: center; gap: var(--space-xs); margin-top: var(--space-md); font-family: var(--arvr-mono); font-size: var(--font-size-sm); }

@media (max-width: 1023.98px) {
  .related-content__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .related-content__grid { grid-template-columns: 1fr; }
  .related-content-card > a { grid-template-columns: 5.5rem minmax(0, 1fr); }
  .related-content-card__media { min-height: 5.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .related-content-card__media img { transition: none; }
}

.equipment-mini + .equipment-mini { margin-top: var(--space-sm); }

.equipment-mini img { width: 5rem; aspect-ratio: 16 / 9; border-radius: var(--radius-sm); object-fit: cover; }

.equipment-mini span { min-width: 0; flex: 1; }

/* Equipment catalog and technical product pages */
.equipment-results { min-width: 0; }
.equipment-results-toolbar { display:flex; align-items:end; justify-content:space-between; gap:var(--space-md); margin-bottom:var(--space-lg); padding-bottom:var(--space-md); border-bottom:1px solid var(--color-border); }
.equipment-results-toolbar p { margin:var(--space-2xs) 0 0; color:var(--color-muted); }
.equipment-results-toolbar p strong { color:var(--color-ink); font-size:var(--font-size-xl); }
.catalog-results-ordering { display:flex; align-items:center; gap:var(--space-sm); }
.catalog-results-ordering label { font-family:var(--arvr-mono); font-size:var(--arvr-micro); letter-spacing:var(--arvr-tracking); text-transform:uppercase; }
.catalog-results-ordering select { min-height:var(--button-height); border:1px solid var(--color-field-border); border-radius:var(--radius-sm); background:var(--color-paper); padding:0 var(--space-lg) 0 var(--space-sm); color:var(--color-ink); }
.equipment-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-lg); }
.equipment-card { display:flex; min-width:0; overflow:hidden; flex-direction:column; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-paper); transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast); }
.equipment-card:hover { border-color:var(--color-field-border); box-shadow:var(--shadow-card); transform:translateY(calc(var(--space-2xs) * -1)); }
.equipment-card__media { position:relative; display:grid; overflow:hidden; aspect-ratio:16/9; place-items:center; background:var(--color-surface); }
.equipment-card__media img { width:100%; height:100%; object-fit:cover; transition:transform var(--transition-base); }
.equipment-card:hover .equipment-card__media img { transform:scale(1.025); }
.equipment-card__media > span { color:var(--color-muted); font-size:var(--font-size-4xl); }
.equipment-card__media time { position:absolute; top:var(--space-sm); right:var(--space-sm); padding:var(--space-xs) var(--space-sm); background:var(--color-ink); color:var(--color-paper); font-family:var(--arvr-mono); font-size:var(--arvr-micro); letter-spacing:var(--arvr-tracking); text-transform:uppercase; }
.equipment-card__body { display:flex; flex:1; flex-direction:column; padding:var(--space-lg); }
.equipment-card__meta { display:flex; flex-wrap:wrap; gap:var(--space-xs); margin-bottom:var(--space-sm); }
.equipment-card__meta span { padding:var(--space-2xs) var(--space-xs); background:var(--color-surface); color:var(--color-muted); font-family:var(--arvr-mono); font-size:var(--arvr-micro); letter-spacing:var(--arvr-tracking); text-transform:uppercase; }
.equipment-card__body h2 { margin:0; font-size:var(--font-size-xl); line-height:var(--line-height-tight); }
.equipment-card__body h2 a { color:var(--color-ink); text-decoration:none; }
.equipment-card__body > p { color:var(--color-muted); line-height:var(--line-height-body); }
.equipment-card__body dl { display:grid; gap:var(--space-xs); margin:auto 0 var(--space-md); padding-top:var(--space-sm); border-top:1px solid var(--color-border); }
.equipment-card__body dl div { display:flex; justify-content:space-between; gap:var(--space-sm); font-size:var(--font-size-sm); }
.equipment-card__body dt { color:var(--color-muted); font-weight:var(--font-weight-medium); }
.equipment-card__body dd { margin:0; font-weight:var(--font-weight-bold); text-align:right; }
.equipment-card__link { display:inline-flex; align-items:center; justify-content:space-between; gap:var(--space-sm); color:var(--color-ink); font-weight:var(--font-weight-black); text-decoration:none; }
.equipment-card__link .bi { transition:transform var(--transition-fast); }
.equipment-card:hover .equipment-card__link .bi { transform:translateX(var(--space-2xs)); }
.equipment-hero { display:grid; grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr); gap:var(--space-xl); align-items:center; padding:var(--space-xl) 0 var(--space-2xl); border-bottom:1px solid var(--color-border); }
.equipment-hero__copy h1 { max-width:var(--arvr-reading-width); margin:var(--space-sm) 0; font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-5xl)); line-height:var(--line-height-tight); }
.equipment-hero__copy > p { max-width:var(--arvr-reading-width); color:var(--color-muted); font-size:var(--font-size-lg); line-height:var(--line-height-body); }
.equipment-hero__meta { display:flex; flex-wrap:wrap; gap:var(--space-xs); }
.equipment-hero__meta > * { padding:var(--space-2xs) var(--space-xs); background:var(--color-surface); color:var(--color-muted); font-family:var(--arvr-mono); font-size:var(--arvr-micro); letter-spacing:var(--arvr-tracking); text-transform:uppercase; }
.equipment-hero__actions { display:flex; flex-wrap:wrap; gap:var(--space-sm); margin-top:var(--space-lg); }
.equipment-hero__actions .button { display:inline-flex; align-items:center; gap:var(--space-xs); }
.equipment-hero__media { position:relative; overflow:hidden; margin:0; aspect-ratio:16/9; border-radius:var(--radius-md); background:var(--color-surface); }
.equipment-hero__media img { width:100%; height:100%; object-fit:cover; }
.equipment-article-layout { padding-top:var(--space-2xl); }
.equipment-description { max-width:var(--arvr-reading-width); }
.equipment-spec-card { overflow:hidden; padding:0; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-paper); }
.equipment-spec-card__head { display:flex; align-items:center; gap:var(--space-sm); padding:var(--space-md); background:var(--color-ink); color:var(--color-paper); }
.equipment-spec-card__head > .bi { display:grid; width:var(--button-height); height:var(--button-height); place-items:center; background:var(--color-dark-soft); font-size:var(--font-size-xl); }
.equipment-spec-card__head h2 { margin:var(--space-2xs) 0 0; font-size:var(--font-size-lg); }
.equipment-spec-card__head .eyebrow { color:var(--color-on-dark-muted); }
.equipment-spec-card dl { margin:0; padding:var(--space-sm) var(--space-md); }
.equipment-spec-card dl div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-md); padding:var(--space-sm) 0; border-bottom:1px solid var(--color-border); }
.equipment-spec-card dl div:last-child { border-bottom:0; }
.equipment-spec-card dt { color:var(--color-muted); font-size:var(--font-size-sm); }
.equipment-spec-card dd { margin:0; font-weight:var(--font-weight-bold); text-align:right; }
.equipment-spec-card > a { display:flex; align-items:center; justify-content:space-between; gap:var(--space-sm); padding:var(--space-md); border-top:1px solid var(--color-border); font-weight:var(--font-weight-bold); text-decoration:none; }
.equipment-related { margin-top:var(--space-2xl); }

@media (max-width:1199.98px) {
    .equipment-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:991.98px) {
    .equipment-hero { grid-template-columns:1fr; }
    .equipment-hero__media { order:-1; }
}

@media (max-width:767.98px) {
    .equipment-results-toolbar { align-items:stretch; flex-direction:column; }
    .catalog-results-ordering { justify-content:space-between; }
    .catalog-results-ordering select { min-width:0; flex:1; }
    .equipment-card-grid { grid-template-columns:1fr; }
    .equipment-card:hover { transform:none; }
    .equipment-card:hover .equipment-card__media img { transform:none; }
    .equipment-hero { padding-top:var(--space-md); }
    .equipment-hero__actions { flex-direction:column; }
    .equipment-hero__actions .button { justify-content:center; width:100%; }
}

@media (max-width: 1199.98px) {
.catalog-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
.catalog-layout, .detail-layout, .howto-detail__layout { grid-template-columns: 1fr; }
.catalog-filters, .detail-facts { position: static; }
.catalog-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalog-search, .catalog-filter-actions { grid-column: 1 / -1; }
.catalog-filters details { border-right: 1px solid var(--color-border); }
}

@media (max-width: 767.98px) {
.catalog-hero__inner { min-height: 16rem; padding-block: var(--space-2xl); }
.catalog-hero__inner > span { display: none; }
.catalog-filters, .catalog-card-grid, .related-grid, .detail-gallery > div { grid-template-columns: 1fr; }
.catalog-results > header { align-items: stretch; flex-direction: column; }
.catalog-results > header form { align-items: stretch; flex-direction: column; }
.catalog-card__body { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
.catalog-card { transition: none; }
.catalog-card:hover { transform: none; }
}

.home-events { display: grid; gap: var(--space-sm); margin: var(--space-md) 0; }

.home-events article { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); gap: 0 var(--space-sm); padding-top: var(--space-sm); border-top: 1px solid color-mix(in srgb, var(--color-paper) 18%, transparent); }

.home-events time { grid-row: 1 / 3; color: var(--color-paper); font-weight: var(--font-weight-black); }

.home-events h3 { margin: 0; font-size: var(--font-size-md); line-height: var(--line-height-ui); }

.home-events h3 a { color: var(--color-paper); text-decoration: none; }

.home-events h3 a:hover { text-decoration: underline; }

.home-events span { color: var(--color-surface-strong); font-size: var(--font-size-xs); }

.home-radar-wrap {
    padding-top: var(--space-md);
    background: var(--color-bg);
}

.home-radar {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--ds-primitive-radius-full);
    background: var(--color-paper);
    box-shadow: var(--shadow-sm);
}

.home-radar__label,
.home-radar nav,
.home-radar a {
    display: inline-flex;
    align-items: center;
}

.home-radar__label { gap: var(--space-sm); font-size: var(--font-size-sm); font-weight: var(--font-weight-black); }

.home-radar__label .bi { color: var(--color-primary); }

.home-radar nav { gap: var(--space-xs); }

.home-radar a {
    min-height: 2.25rem;
    padding-inline: var(--space-md);
    border-radius: var(--ds-primitive-radius-full);
    color: var(--color-muted);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    transition: color var(--transition-fast), background var(--transition-fast);
}

.home-radar a:hover { color: var(--color-ink); background: var(--color-surface); }

.home-edition { padding-block: clamp(var(--space-xl), 5vw, var(--space-3xl)) clamp(var(--space-3xl), 7vw, var(--space-3xl)); }

.home-edition__header {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr);
    align-items: end;
    gap: clamp(var(--space-xl), 6vw, var(--space-3xl));
    margin-bottom: clamp(var(--space-xl), 4vw, var(--space-2xl));
}

.home-edition__header h1 {
    max-width: 16ch;
    margin: 0;
    overflow-wrap: break-word;
    font-family: var(--font-sans);
    font-size: clamp(var(--font-size-4xl), 5.2vw, var(--font-size-4xl));
    font-weight: var(--font-weight-black);
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
    hyphens: auto;
}

.home-edition__header h1 span { color: var(--color-primary); overflow-wrap: anywhere; }

.home-edition__header > p {
    max-width: 35rem;
    margin: 0;
    padding-left: var(--space-lg);
    border-left: 3px solid var(--color-accent);
    color: var(--color-muted);
    font-size: var(--font-size-md);
}

.home-opening-grid {
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(20rem, .8fr);
    align-items: stretch;
    gap: var(--space-lg);
}

.home-lead {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(22rem, .92fr);
    min-height: 37rem;
    overflow: hidden;
    border-radius: var(--radius-xl);
    color: var(--color-paper);
    background: var(--color-ink);
    box-shadow: var(--shadow-modal);
}

.home-lead__media { display: block; min-height: 100%; overflow: hidden; background: var(--color-dark-soft); }

.home-lead__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--duration-slow) ease, filter var(--duration-slow) ease;
}

.home-lead:hover .home-lead__media img { filter: saturate(1.06); transform: scale(1.012); }

.home-lead__body { display: flex; min-width: 0; padding: clamp(var(--space-lg), 3.3vw, var(--space-2xl)); flex-direction: column; justify-content: center; }

.home-story-meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }

.home-story-meta .eyebrow { margin: 0; color: var(--color-primary); }

.home-story-meta span { color: var(--color-field-border); font-size: var(--font-size-xs); }

.home-lead h2 {
    margin: var(--space-lg) 0 0;
    overflow-wrap: anywhere;
    font-family: var(--font-sans);
    font-size: clamp(var(--font-size-3xl), 3vw, var(--font-size-4xl));
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
}

.home-lead h2 a,
.home-pick h3 a,
.home-calendar h3 a,
.home-latest h3 a,
.home-opinion-card h3 a { text-decoration: none; }

.home-lead h2 a:hover { color: var(--color-primary); }

.home-lead__body > p { margin: var(--space-lg) 0; color: var(--color-field-border); }

.home-lead__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); margin-top: auto; padding-top: var(--space-lg); }

.home-lead__footer time { color: var(--color-field-border); font-size: var(--font-size-xs); }

.home-action,
.home-inline-link,
.home-calendar__link,
.home-opinions__heading > a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: var(--space-sm);
    font-weight: var(--font-weight-black);
    text-decoration: none;
}

.home-action { padding-inline: var(--space-md); border-radius: var(--ds-primitive-radius-full); color: var(--color-ink); background: var(--color-paper); }

.home-action:hover { color: var(--color-paper); background: var(--color-primary); }

.home-opening-aside { display: grid; grid-template-rows: auto 1fr; gap: var(--space-lg); }

.home-picks,
.home-calendar {
    min-width: 0;
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-paper);
}

.home-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-sm); }

.home-panel-heading h2 { margin: 0; font-family: var(--font-sans); font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-tight); line-height: var(--line-height-tight); }

.home-panel-heading > .bi { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; color: var(--color-primary); background: var(--color-surface); font-size: var(--icon-size-lg); }

.home-pick { display: grid; grid-template-columns: 2rem minmax(0, 1fr) 2.75rem; align-items: center; gap: var(--space-sm); padding-block: var(--space-md); border-top: 1px solid var(--color-border); }

.home-pick > span { color: var(--color-primary); font-size: var(--font-size-xs); font-weight: var(--font-weight-black); }

.home-pick small { color: var(--color-muted); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }

.home-pick h3 { margin: var(--space-xs) 0 0; font-size: var(--font-size-md); font-weight: var(--font-weight-bold); line-height: var(--line-height-ui); }

.home-pick h3 a:hover { color: var(--color-primary); }

.home-pick > a { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-muted); }

.home-pick > a:hover { border-color: var(--color-primary); color: var(--color-primary); }

.home-calendar {
    color: var(--color-paper);
    border: 0;
    background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--color-paper) 24%, transparent), transparent 32%), linear-gradient(145deg, var(--color-primary), var(--color-destructive) 58%, var(--color-accent));
    box-shadow: var(--shadow-card);
}

.home-calendar .eyebrow { color: var(--color-paper); }

.home-calendar .home-panel-heading > .bi { color: var(--color-paper); background: color-mix(in srgb, var(--color-paper) 14%, transparent); }

.home-calendar__list { display: grid; margin-top: var(--space-sm); }

.home-calendar__list article { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--space-md); padding-block: var(--space-md); border-top: 1px solid color-mix(in srgb, var(--color-paper) 20%, transparent); }

.home-calendar__list time { display: flex; align-items: center; flex-direction: column; line-height: var(--line-height-tight); }

.home-calendar__list time strong { font-size: var(--font-size-2xl); }

.home-calendar__list time span { margin-top: var(--space-xs); font-size: var(--font-size-xs); text-transform: uppercase; }

.home-calendar h3 { margin: 0; font-size: var(--font-size-sm); line-height: var(--line-height-ui); }

.home-calendar h3 a:hover { text-decoration: underline; }

.home-calendar__list p { margin: var(--space-xs) 0 0; color: var(--color-surface-strong); font-size: var(--font-size-xs); }

.home-calendar__link { color: var(--color-paper); }

.home-calendar__link:hover { color: var(--color-paper); text-decoration: underline; }

.home-latest { padding-block: clamp(var(--space-3xl), 7vw, var(--space-3xl)); background: var(--color-surface); }

.home-section-heading,
.home-opinions__heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-xl); margin-bottom: var(--space-xl); }

.home-section-heading h2,
.home-opinions__heading h2 { margin: 0; font-family: var(--font-sans); font-size: clamp(var(--font-size-3xl), 4.5vw, var(--font-size-4xl)); font-weight: var(--font-weight-black); letter-spacing: var(--letter-spacing-tight); line-height: var(--line-height-tight); }

.home-section-heading > p { max-width: 34rem; margin: 0; color: var(--color-muted); }

.home-latest-grid { display: grid; grid-template-columns: minmax(20rem, .85fr) minmax(0, 1.15fr); align-items: start; gap: var(--space-lg); }

.home-latest-feature { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); box-shadow: var(--shadow-card); }

.home-latest-feature__media { display: block; margin: var(--space-sm); overflow: hidden; border-radius: var(--radius-md); background: var(--color-surface-strong); }

.home-latest-feature__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform var(--duration-slow) ease; }

.home-latest-feature:hover img { transform: scale(1.018); }

.home-latest-feature > div { padding: var(--space-lg); }

.home-latest-feature h3 { margin: 0; font-family: var(--font-sans); font-size: clamp(var(--font-size-2xl), 2.6vw, var(--font-size-4xl)); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-tight); line-height: var(--line-height-tight); }

.home-latest-feature h3 a:hover,
.home-feed-story h3 a:hover,
.home-opinion-card h3 a:hover { color: var(--color-primary); }

.home-latest-feature > div > p:not(.eyebrow) { color: var(--color-muted); }

.home-inline-link { color: var(--color-accent); }

.home-inline-link:hover { color: var(--color-primary); }

.home-latest-feed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }

.home-feed-story {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-paper);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.home-feed-story:hover { border-color: var(--color-field-border); box-shadow: var(--shadow-card); }

.home-feed-story__media { display: block; min-height: 100%; background: var(--color-surface-strong); }

.home-feed-story__media img { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.home-feed-story > div { min-width: 0; padding: var(--space-md); }

.home-feed-story .eyebrow { margin: 0 0 var(--space-xs); font-size: var(--font-size-xs); }

.home-feed-story h3 { margin: 0; font-size: var(--font-size-md); font-weight: var(--font-weight-bold); line-height: var(--line-height-ui); }

.home-feed-story time { display: block; margin-top: var(--space-sm); color: var(--color-muted); font-size: var(--font-size-xs); }

.home-opinions { padding-block: clamp(var(--space-3xl), 7vw, var(--space-3xl)); background: var(--color-bg); }

.home-opinions__heading > a { color: var(--color-accent); }

.home-opinions__heading > a:hover { color: var(--color-primary); }

.home-opinion-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }

.home-opinion-card { position: relative; min-height: 22rem; padding: clamp(var(--space-lg), 3vw, var(--space-xl)); border: 1px solid color-mix(in srgb, var(--color-accent) 12%, transparent); border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--color-paper), var(--color-bg)); }

.home-opinion-card > .bi { position: absolute; top: var(--space-lg); right: var(--space-lg); color: color-mix(in srgb, var(--color-accent) 18%, transparent); font-size: var(--font-size-4xl); }

.home-opinion-card h3 { max-width: 20ch; margin: var(--space-xl) 0 var(--space-md); font-family: var(--font-sans); font-size: clamp(var(--font-size-2xl), 2vw, var(--font-size-3xl)); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-tight); line-height: var(--line-height-tight); }

.home-opinion-card > p:not(.eyebrow) { color: var(--color-muted); }

.home-opinion-card .home-inline-link { position: absolute; right: var(--space-lg); bottom: var(--space-lg); left: var(--space-lg); }

.home-opinions__empty { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-xl); padding: clamp(var(--space-lg), 4vw, var(--space-2xl)); border: 1px solid color-mix(in srgb, var(--color-accent) 12%, transparent); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--color-paper), var(--color-accent-soft)); }

.home-opinions__empty > .bi { display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 50%; color: var(--color-accent); background: var(--color-paper); font-size: var(--font-size-2xl); }

.home-opinions__empty h3 { margin: 0; font-family: var(--font-sans); font-size: var(--font-size-2xl); }

.home-opinions__empty p { margin: var(--space-xs) 0 0; color: var(--color-muted); }

@media (max-width: 74rem) {
.home-opening-grid { grid-template-columns: 1fr; }
.home-opening-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
.home-latest-grid { grid-template-columns: 1fr; }
}

@media (max-width: 61.99rem) {
.home-edition__header { grid-template-columns: 1fr; gap: var(--space-lg); }
.home-edition__header > p { max-width: 46rem; }
.home-lead { grid-template-columns: 1fr; min-height: 0; }
.home-lead__media { min-height: 0; }
.home-lead__media img { height: auto; aspect-ratio: 16 / 9; }
.home-lead__body { min-height: 27rem; }
.home-latest-feed { grid-template-columns: 1fr; }
.home-opinion-grid { grid-template-columns: 1fr 1fr; }
.home-opinion-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 47.99rem) {
.home-radar { align-items: stretch; padding: var(--space-sm); border-radius: var(--radius-md); flex-direction: column; }
.home-radar__label { min-height: 2.25rem; padding-inline: var(--space-sm); }
.home-radar nav { display: grid; min-width: 0; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-radar a { min-width: 0; justify-content: center; padding-inline: var(--space-xs); overflow-wrap: anywhere; background: var(--color-surface); font-size: var(--font-size-xs); text-align: center; }
.home-edition__header h1 { max-width: 100%; font-size: clamp(var(--font-size-3xl), 9vw, var(--font-size-4xl)); }
.home-edition__header > p { padding-left: var(--space-md); }
.home-opening-aside { grid-template-columns: 1fr; }
.home-lead { border-radius: var(--radius-lg); }
.home-story-meta { align-items: flex-start; flex-direction: column; gap: var(--space-xs); }
.home-lead__body { min-height: 0; padding: var(--space-lg); }
.home-lead h2 { font-size: clamp(var(--font-size-3xl), 9vw, var(--font-size-4xl)); }
.home-lead__footer { align-items: flex-start; flex-direction: column; }
.home-section-heading,
    .home-opinions__heading { align-items: flex-start; flex-direction: column; gap: var(--space-md); }
.home-section-heading h2,
    .home-opinions__heading h2 { font-size: clamp(var(--font-size-4xl), 12vw, var(--font-size-4xl)); }
.home-feed-story { grid-template-columns: 7rem minmax(0, 1fr); }
.home-opinion-grid { grid-template-columns: 1fr; }
.home-opinion-card,
    .home-opinion-card:last-child { grid-column: auto; min-height: 20rem; }
.home-opinions__empty { grid-template-columns: 1fr; }
}

@media (max-width: 374.98px) {
.home-radar nav { grid-template-columns: 1fr; }
.home-feed-story { grid-template-columns: 1fr; }
.home-feed-story__media img { aspect-ratio: 16 / 9; }
}

@media (prefers-reduced-motion: reduce) {
.home-lead__media img,
    .home-latest-feature__media img { transition: none; }
.home-lead:hover .home-lead__media img,
    .home-latest-feature:hover img { transform: none; }
}

.events-page { padding-bottom: var(--space-3xl); }

.events-hero { overflow: hidden; color: var(--color-on-dark); background: linear-gradient(128deg, var(--color-dark), var(--color-dark-soft) 60%, var(--color-dark-soft)); }

.events-hero__inner { display: flex; min-height: 20rem; align-items: center; justify-content: space-between; gap: var(--space-xl); padding-block: var(--space-3xl); }

.events-hero h1 { max-width: 18ch; margin: 0; font-size: clamp(var(--font-size-3xl), 6vw, var(--font-size-4xl)); font-weight: var(--font-weight-black); letter-spacing: var(--letter-spacing-tight); line-height: var(--line-height-tight); }

.events-hero p:not(.eyebrow) { max-width: 48rem; margin: var(--space-md) 0 0; color: var(--color-border); font-size: var(--font-size-lg); }

.events-hero__switch .button { border-color: color-mix(in srgb, var(--color-paper) 28%, transparent); color: var(--color-paper); background: color-mix(in srgb, var(--color-paper) 8%, transparent); }

.events-layout { display: grid; grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr); align-items: start; gap: var(--space-xl); padding-top: var(--space-2xl); }

.events-filters { position: sticky; top: calc(var(--arvr-header-height, var(--arvr-anchor-offset)) + var(--space-md)); max-height: calc(100dvh - var(--arvr-header-height, var(--arvr-anchor-offset)) - var(--space-xl)); overflow-y: auto; z-index: var(--ds-primitive-z-content); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); box-shadow: var(--shadow-sm); scrollbar-width: thin; scrollbar-color: var(--color-border) transparent; }
.events-filters::-webkit-scrollbar,
.events-filters details > div::-webkit-scrollbar { width: .35rem; height: .35rem; }
.events-filters::-webkit-scrollbar-track,
.events-filters details > div::-webkit-scrollbar-track { background: transparent; }
.events-filters::-webkit-scrollbar-thumb,
.events-filters details > div::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: var(--ds-primitive-radius-full); }
.events-filters::-webkit-scrollbar-thumb:hover,
.events-filters details > div::-webkit-scrollbar-thumb:hover { background: var(--color-muted); }

.events-filters details { border-top: 1px solid var(--color-border); }

.events-filters summary { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; padding: var(--space-md) var(--space-md); font-weight: var(--font-weight-black); cursor: pointer; }

.events-filters details > div { display: grid; max-height: 14rem; gap: var(--space-sm); overflow-y: auto; padding: 0 var(--space-md) var(--space-md); scrollbar-width: thin; scrollbar-color: var(--color-border) transparent; }

.events-filters details label { display: flex; min-height: 2rem; align-items: center; gap: var(--space-sm); }

.events-filters input[type="checkbox"] { width: 1.1rem; height: 1.1rem; accent-color: var(--color-accent); }

.events-filters .events-date-range { max-height: none; grid-template-columns: 1fr; }

.events-date-range label { display: grid !important; gap: var(--space-xs); font-weight: var(--font-weight-bold); }

.events-date-range input { min-width: 0; width: 100%; min-height: 2.75rem; padding: var(--space-sm) var(--space-sm); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }

.events-results { min-width: 0; }

.events-results > header { min-height: 3rem; margin-bottom: var(--space-lg); }

.events-results > header p { margin: 0; color: var(--color-muted); }

.events-mode-switch {
    display: inline-flex;
    align-items: stretch;
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-paper);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.events-mode-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    min-height: 2.35rem;
    padding: 0 var(--space-md);
    font-family: var(--arvr-mono);
    font-size: var(--arvr-micro);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--arvr-tracking);
    text-transform: uppercase;
    color: var(--color-muted);
    background: transparent;
    border: none;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.events-mode-btn:first-child {
    border-right: 1px solid var(--color-border);
}

.events-mode-btn:hover:not(.is-active) {
    color: var(--color-ink);
    background: var(--color-surface);
}

.events-mode-btn.is-active {
    background: var(--color-ink);
    color: var(--color-paper);
    cursor: default;
}

.events-mode-btn .bi {
    font-size: var(--font-size-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.events-mode-btn .bi::before {
    vertical-align: 0;
    display: block;
    line-height: 1;
}

.events-mode-btn span {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

@media (max-width: 575.98px) {
    .events-mode-switch {
        width: 100%;
    }
    .events-mode-btn {
        flex: 1;
    }
}

.events-date-range { display: flex; flex-direction: column; gap: var(--space-sm); }

.events-date-range__item { display: flex; flex-direction: column; gap: var(--space-xs); }

.events-date-range__label { font-size: var(--font-size-xs); color: var(--color-muted); font-weight: var(--font-weight-medium); }

.events-date-range__input { min-height: 2.5rem; padding: var(--space-xs) var(--space-sm); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-paper); color: var(--color-ink); font-size: var(--font-size-sm); width: 100%; }

.event-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); }

.event-card { position: relative; display: flex; flex-direction: column; overflow: hidden; min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); transition: transform var(--transition-fast), box-shadow var(--transition-fast); }

.event-card:hover { box-shadow: var(--shadow-card); transform: translateY(-2px); }

.event-card:hover .event-card__media img { transform: scale(1.04); }

.event-card--cancelled { opacity: .78; }

.event-card__media-wrap { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: var(--color-surface); }

.event-card__media { display: block; width: 100%; height: 100%; overflow: hidden; }

.event-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-fast); }

.event-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--color-accent); font-size: var(--font-size-4xl); background: var(--color-surface); }

.event-card__overlay-badges { position: absolute; top: var(--space-sm); left: var(--space-sm); display: flex; flex-wrap: wrap; gap: var(--space-xs); z-index: var(--ds-primitive-z-raised); pointer-events: none; }

.event-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    min-height: 1.625rem;
    padding: 0 var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
    white-space: nowrap;
    box-sizing: border-box;
}

.event-badge span {
    color: inherit;
    display: inline-flex;
    align-items: center;
    line-height: 1;
    transform: translateY(0.5px);
}

.event-badge .bi {
    font-size: var(--font-size-xs);
    color: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.event-badge .bi::before {
    vertical-align: 0;
    display: block;
    line-height: 1;
}

.event-badge--format { background: var(--color-surface-strong); color: var(--color-ink); border: 1px solid var(--arvr-rule); }

.event-badge--free { background: var(--color-surface); color: var(--color-success); border: 1px solid var(--arvr-rule); }
.event-badge--free .bi { color: var(--color-success); }

.event-badge--paid { background: var(--color-surface); color: var(--color-ink); border: 1px solid var(--arvr-rule); }
.event-badge--paid .bi { color: var(--color-accent); }

.event-card__overlay-badges .event-badge { box-shadow: var(--shadow-sm); backdrop-filter: blur(8px); }

.event-header-signal__lead { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); min-width: 0; }
.event-header-signal__lead .eyebrow { margin: 0; }

.event-date-stamp { position: absolute; bottom: var(--space-sm); right: var(--space-sm); display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 3.25rem; padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-md); background: var(--color-surface); border: 1px solid var(--arvr-rule); box-shadow: var(--shadow-sm); line-height: 1; z-index: var(--ds-primitive-z-raised); }

.event-date-stamp__day { font-weight: var(--font-weight-black); font-size: var(--font-size-lg); color: var(--color-ink); }

.event-date-stamp__month { font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); color: var(--color-accent); text-transform: uppercase; margin-top: var(--space-2xs); }

.event-card__body { display: flex; flex-direction: column; flex: 1; padding: var(--space-lg); }

.event-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-sm); margin-bottom: var(--space-xs); }

.event-card__title { margin: 0 0 var(--space-xs); font-size: var(--font-size-lg); font-weight: var(--font-weight-black); line-height: var(--line-height-tight); }

.event-card__title a { color: var(--color-ink); text-decoration: none; }

.event-card__title a:hover { color: var(--color-accent); }

.event-card__announcement { margin: 0 0 var(--space-md); color: var(--color-muted); font-size: var(--font-size-sm); line-height: var(--line-height-normal); display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.event-card__facts { display: grid; gap: var(--space-xs); margin: auto 0 var(--space-md); padding-top: var(--space-sm); border-top: 1px dashed var(--color-border); }

.event-card__fact { display: flex; align-items: center; gap: var(--space-xs); font-size: var(--font-size-xs); color: var(--color-muted); }

.event-card__fact dt { display: inline-flex; align-items: center; color: var(--color-accent); }

.event-card__fact dd { margin: 0; font-weight: var(--font-weight-medium); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.event-card__actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); padding-top: var(--space-sm); border-top: 1px solid var(--arvr-rule); margin-top: auto; }

.event-card__link { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 2.25rem; color: var(--color-accent); font-weight: var(--font-weight-bold); font-size: var(--font-size-sm); text-decoration: none; }

.event-card__link i { transition: transform var(--transition-fast); }

.event-card__link:hover i { transform: translateX(2px); }

.event-card__calendar-btn { display: inline-flex; align-items: center; gap: var(--space-xs); padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-sm); border: 1px solid var(--arvr-rule); background: var(--color-surface); color: var(--color-ink); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); text-decoration: none; transition: background var(--transition-fast), border-color var(--transition-fast); }

.event-card__calendar-btn:hover { background: var(--color-bg); border-color: var(--color-ink); }

.event-state { display: inline-flex; padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-full); font-size: var(--font-size-xs); font-weight: var(--font-weight-black); }

.event-state--postponed { color: var(--color-warning); background: var(--color-surface-strong); }

.event-state--cancelled { color: var(--color-warning); background: var(--color-border); }

.event-article-page { padding-block: 0 var(--space-3xl); }

.event-header { margin-bottom: var(--space-xl); }

.event-meta-top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-sm); }

.event-alert { display: flex; align-items: flex-start; gap: var(--space-md); margin: var(--page-intro-padding-block) 0 var(--space-lg); padding: var(--space-md) var(--space-lg); border-radius: var(--radius-md); }

.event-alert .bi { margin-top: var(--space-xs); font-size: var(--icon-size-lg); }

.event-alert strong { font-size: var(--font-size-md); }

.event-alert p { margin: var(--space-xs) 0 0; }

.event-alert--postponed { color: var(--color-warning); background: var(--color-surface-strong); }

.event-alert--cancelled { color: var(--color-warning); background: var(--color-border); }

/* Сайдбар: Паспорт события */
.event-passport-card { margin-bottom: 0; }

.event-passport-content { display: flex; flex-direction: column; }

.event-passport-row { padding-bottom: var(--space-md); margin-bottom: var(--space-md); border-bottom: 1px solid var(--arvr-rule); display: flex; flex-direction: column; gap: var(--space-sm); }
.event-passport-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.event-passport-label { font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: var(--letter-spacing-wide); color: var(--color-muted); line-height: var(--line-height-tight); }

.event-passport-date-val { font-size: var(--font-size-md); color: var(--color-ink); line-height: var(--line-height-tight); font-variant-numeric: lining-nums; }
.event-passport-date-val strong { font-weight: var(--font-weight-bold); }

.event-passport-time-val { display: flex; align-items: center; gap: var(--space-xs); font-size: var(--font-size-sm); color: var(--color-muted); line-height: var(--line-height-tight); }
.event-passport-tz { font-size: var(--font-size-xs); color: var(--color-muted); }

.event-passport-actions { padding-bottom: var(--space-md); margin-bottom: var(--space-md); border-bottom: 1px solid var(--arvr-rule); display: flex; flex-direction: column; gap: var(--space-sm); }

.event-passport-btn-cal { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); width: 100%; min-height: 2.75rem; padding: var(--space-sm) var(--space-md); border: 1px solid var(--arvr-rule); background: var(--color-surface); color: var(--color-ink); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); text-decoration: none; transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast); }
.event-passport-btn-cal:hover { background: var(--color-paper); border-color: var(--color-ink); color: var(--color-ink); }

/* Карточка места проведения */
.event-place-card { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-md); background: var(--color-paper); border: 1px solid var(--arvr-rule); border-radius: var(--radius-sm); }
.event-place-card__badges { display: flex; align-items: center; gap: var(--space-xs); flex-wrap: wrap; margin-bottom: var(--space-2xs); }
.event-place-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    min-height: 1.625rem;
    padding: 0 var(--space-sm);
    background: var(--color-ink);
    color: var(--color-paper);
    border-radius: var(--radius-xs);
    font-family: var(--arvr-mono);
    font-size: var(--arvr-micro);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
    line-height: 1;
    box-sizing: border-box;
}
.event-place-card__badge span {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    transform: translateY(0.5px);
}
.event-place-card__badge .bi {
    font-size: var(--font-size-xs);
    color: var(--color-paper);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.event-place-card__badge .bi::before {
    vertical-align: 0;
    display: block;
    line-height: 1;
}
.event-place-card__badge--online, .event-place-card__badge--hybrid { background: var(--color-surface-strong); color: var(--color-ink); border: 1px solid var(--arvr-rule); }
.event-place-card__badge--online .bi, .event-place-card__badge--hybrid .bi { color: var(--color-ink); }
.event-place-card__content { display: flex; flex-direction: column; gap: var(--space-xs); }
.event-place-card__venue { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--color-ink); line-height: var(--line-height-snug); }
.event-place-card__address { display: flex; align-items: flex-start; gap: var(--space-xs); font-size: var(--font-size-xs); color: var(--color-muted); line-height: var(--line-height-normal); }
.event-place-card__address .bi { font-size: var(--font-size-sm); color: var(--color-muted); flex-shrink: 0; margin-top: var(--space-2xs); }
.event-place-card__desc { margin: 0; font-size: var(--font-size-xs); color: var(--color-muted); line-height: var(--line-height-normal); }
.event-place-card__actions { display: flex; flex-direction: column; gap: var(--space-xs); }
.event-place-card__btn { display: inline-flex; align-items: center; gap: var(--space-xs); width: 100%; min-height: 2.375rem; padding: var(--space-xs) var(--space-sm); background: var(--color-surface); border: 1px solid var(--arvr-rule); border-radius: var(--radius-xs); color: var(--color-ink); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); text-decoration: none; transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast); }
.event-place-card__btn:hover { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-paper); }
.event-place-card__btn:hover .bi { color: var(--color-paper); }

/* Обратная совместимость для старых классов */
.event-passport-place strong { font-size: var(--font-size-md); color: var(--color-ink); }
.event-passport-venue { margin: var(--space-xs) 0 0; font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-ink); }
.event-passport-address { margin: var(--space-2xs) 0 0; font-size: var(--font-size-xs); color: var(--color-muted); }

.event-passport-price strong { font-size: var(--font-size-md); color: var(--color-ink); }
.event-passport-price p { margin: var(--space-xs) 0 0; font-size: var(--font-size-xs); color: var(--color-muted); }

.event-passport-organizer strong { font-size: var(--font-size-sm); color: var(--color-ink); }
.event-passport-organizer a { color: var(--color-ink); text-decoration: none; }
.event-passport-organizer a:hover { color: var(--color-accent); }

.event-passport-map-link, .event-passport-link { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--color-accent); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); text-decoration: none; margin-top: var(--space-xs); }
.event-passport-map-link:hover, .event-passport-link:hover { text-decoration: underline; }

/* Квадраты даты и места мероприятия в шапке статьи */
.event-meta-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
    gap: var(--space-md);
    align-items: stretch;
    min-width: 0;
}

.event-meta-tile {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    background: var(--color-ink);
    color: var(--color-paper);
    padding: var(--space-md) var(--space-lg);
    border: 1px solid var(--color-ink);
    border-radius: var(--radius-sm);
    min-height: 5.25rem;
    box-shadow: var(--shadow-sm);
    min-width: 0;
}

.event-meta-tile__icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--radius-xs);
    background: color-mix(in srgb, var(--color-paper) 15%, transparent);
    color: var(--color-paper);
    font-size: var(--icon-size-lg);
    flex-shrink: 0;
}

.event-meta-tile__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    gap: var(--space-xs);
}

.event-meta-tile__label {
    display: block;
    font-family: var(--font-sans);
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
    color: color-mix(in srgb, var(--color-paper) 70%, transparent);
    line-height: var(--line-height-normal);
    margin: 0;
}

.event-meta-tile__value {
    display: block;
    font-family: var(--font-sans);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-snug);
    color: var(--color-paper);
    font-variant-numeric: lining-nums;
    margin: 0;
}

.event-meta-tile__sub {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    font-family: var(--font-sans);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: color-mix(in srgb, var(--color-paper) 85%, transparent);
    line-height: var(--line-height-normal);
    margin: 0;
}

.event-meta-row {
    align-items: center;
}

.event-meta-row .article-share .share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    line-height: 1;
}

.event-meta-row .article-share .share-btn .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    font-size: var(--font-size-md);
    line-height: 1;
    margin: 0;
    padding: 0;
    vertical-align: 0;
}

.event-meta-row .article-share .share-btn .bi::before {
    display: inline-block;
    line-height: 1;
    vertical-align: 0;
    margin: 0;
    padding: 0;
}

.event-meta-row .article-share .share-btn--vk .bi {
    transform: translateY(-1px);
}

.event-meta-row .article-share .share-btn--copy .bi {
    transform: translateY(-0.5px);
}

@media (max-width: 1199.98px) {
.event-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
.events-layout { grid-template-columns: 1fr; }
.event-passport-card { position: static; }
}

@media (max-width: 767.98px) {
.event-card-grid { grid-template-columns: 1fr; }
.event-card__body { min-height: 0; }
.event-meta-tiles {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-sm);
}
.event-meta-tile {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    min-height: 4rem;
}
.event-meta-tile__value {
    font-size: var(--font-size-md);
}
.event-meta-row .article-share {
    width: 100%;
    justify-content: flex-start;
    margin-top: var(--space-xs);
}
}

@media (prefers-reduced-motion: reduce) {
.event-card { transition: none; }
.event-card:hover { transform: none; }
.event-card:hover .event-card__media img { transform: none; }
}

.howto-block-section {
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-xl);
    padding: var(--space-xl) var(--space-xl) var(--space-xl);
    background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 100%);
    border: 1px solid var(--color-highlight-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    position: relative;
}

.howto-block-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.howto-block-header__main .howto-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    margin: 0 0 var(--space-sm);
    padding: var(--space-xs) var(--space-md);
    background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);
    border-radius: var(--ds-primitive-radius-full);
    color: var(--color-accent);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
}

.howto-block-header__main .howto-eyebrow i {
    font-size: var(--font-size-sm);
}

.howto-block-header__main h2 {
    margin: 0;
    font-size: clamp(var(--font-size-2xl), 2.4vw, var(--font-size-3xl));
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-tight);
    color: var(--color-ink);
}

.howto-block-all-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--ds-primitive-radius-full);
    background: var(--color-paper);
    color: var(--color-accent-strong);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.howto-block-all-btn:hover {
    border-color: var(--color-accent);
    color: var(--color-paper);
    background: var(--color-accent);
    box-shadow: var(--shadow-sm);
    transform: translateX(2px);
}

.howto-block-header__actions {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.howto-nav {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.howto-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--color-paper);
    border: 1px solid var(--color-border);
    color: var(--color-ink);
    font-size: var(--font-size-md);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.howto-nav-btn:hover:not(.swiper-button-disabled) {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-paper);
    transform: scale(1.06);
    box-shadow: var(--shadow-sm);
}

.howto-nav-btn.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

.howto-swiper {
    padding: var(--space-md) var(--space-sm) var(--space-2xl) !important;
    margin: calc(-1 * var(--space-md)) calc(-1 * var(--space-sm)) 0 !important;
    overflow: hidden;
}

.howto-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.howto-swiper .howto-widget-card {
    width: 100%;
    height: 100%;
}

.howto-pagination {
    bottom: 0.25rem !important;
}

.howto-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: var(--color-field-border);
    opacity: 0.6;
    transition: width var(--duration-normal) ease, background-color var(--duration-normal) ease, border-radius var(--duration-normal) ease;
}

.howto-pagination .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: var(--radius-sm);
    background: var(--color-accent) !important;
    opacity: 1;
}

.howto-widget-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--color-surface-strong);
    border-radius: var(--radius-md);
    background: var(--color-paper);
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.howto-widget-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-card);
    border-color: var(--color-field-border);
}

.howto-widget-card__media-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--color-ink);
}

.howto-widget-card__media {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.howto-widget-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--duration-slow) cubic-bezier(0.16, 1, 0.3, 1);
}

.howto-widget-card:hover .howto-widget-card__media img {
    transform: scale(1.05);
}

.howto-widget-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--color-accent-strong) 0%, var(--color-ink) 100%);
    color: var(--color-border);
    font-size: var(--font-size-3xl);
}

.howto-widget-card__badges {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    right: 0.65rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    pointer-events: none;
    z-index: 2;
}

.howto-difficulty-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.howto-difficulty-badge.is-beginner {
    background: color-mix(in srgb, var(--color-highlight) 92%, transparent);
    color: var(--color-paper);
    box-shadow: var(--shadow-sm);
}

.howto-difficulty-badge.is-intermediate {
    background: color-mix(in srgb, var(--color-primary) 92%, transparent);
    color: var(--color-paper);
    box-shadow: var(--shadow-sm);
}

.howto-difficulty-badge.is-advanced {
    background: color-mix(in srgb, var(--color-accent) 92%, transparent);
    color: var(--color-paper);
    box-shadow: var(--shadow-sm);
}

.howto-difficulty-dots {
    letter-spacing: var(--letter-spacing-tight);
    font-size: var(--font-size-xs);
    line-height: var(--line-height-tight);
}

.howto-duration-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--color-ink) 80%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--color-surface);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    box-shadow: var(--shadow-sm);
}

.howto-widget-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--space-md) var(--space-md) var(--space-md);
}

.howto-widget-card__meta {
    margin-bottom: var(--space-sm);
}

.howto-widget-card__category {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.howto-widget-card__category:hover {
    color: var(--color-accent-strong);
}

.howto-widget-card__title {
    margin: 0 0 var(--space-sm);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-ui);
    letter-spacing: var(--letter-spacing-tight);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.howto-widget-card__title a {
    color: var(--color-ink);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.howto-widget-card__title a:hover {
    color: var(--color-accent);
}

.howto-widget-card__summary {
    margin: 0 0 var(--space-md);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-ui);
    color: var(--color-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.howto-widget-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: var(--space-md);
    border-top: 1px dashed var(--color-surface-strong);
}

.howto-widget-card__hint {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-field-border);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
}

.howto-widget-card__action {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-accent);
    text-decoration: none;
    transition: all var(--transition-fast);
}

.howto-widget-card__action i {
    font-size: var(--font-size-sm);
    transition: transform var(--transition-fast);
}

.howto-widget-card:hover .howto-widget-card__action {
    color: var(--color-accent-strong);
}

.howto-widget-card:hover .howto-widget-card__action i {
    transform: translateX(4px);
}

@media (max-width: 768px) {
.howto-block-section {
        margin-top: var(--space-xl);
        margin-bottom: var(--space-xl);
        padding: var(--space-lg) var(--space-md) var(--space-xl);
        border-radius: var(--radius-md);
    }
.howto-block-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-md);
        margin-bottom: var(--space-md);
    }
.howto-block-header__actions {
        width: 100%;
        justify-content: space-between;
    }
}

.howto-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.howto-card__media {
    position: relative;
    overflow: hidden;
    display: block;
    aspect-ratio: 16 / 9;
    background: var(--color-surface);
}

.howto-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-normal);
}

.howto-card:hover .howto-card__media img {
    transform: scale(1.04);
}

.howto-card__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--color-muted);
    font-size: var(--font-size-3xl);
    background: var(--color-surface);
}

.howto-card .howto-badge {
    position: absolute;
    top: var(--space-sm);
    left: var(--space-sm);
    z-index: 2;
}

.howto-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: var(--shadow-sm);
}

.howto-badge--beginner {
    background: color-mix(in srgb, var(--color-highlight) 90%, transparent);
    color: var(--color-paper);
}

.howto-badge--intermediate {
    background: color-mix(in srgb, var(--color-primary) 90%, transparent);
    color: var(--color-paper);
}

.howto-badge--advanced {
    background: color-mix(in srgb, var(--color-accent) 90%, transparent);
    color: var(--color-paper);
}

.article-header__signal .howto-badge {
    position: static;
}

.howto-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--space-md);
}

.howto-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xs);
    margin-bottom: var(--space-xs);
}

.howto-card__eyebrow {
    margin: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
    color: var(--color-accent);
}

.howto-card__eyebrow a {
    color: inherit;
    text-decoration: none;
}

.howto-card__eyebrow a:hover {
    color: var(--color-accent-strong);
}

.howto-card__duration {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--font-size-xs);
    color: var(--color-muted);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
}

.howto-card__title {
    margin: 0 0 var(--space-xs);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}

.howto-card__title a {
    color: var(--color-ink);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.howto-card__title a:hover {
    color: var(--color-accent);
}

.howto-card__announcement {
    margin: 0 0 var(--space-md);
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-body);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.howto-card__equipment-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-bottom: var(--space-sm);
}

.howto-card__chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-ink);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border: 1px solid var(--color-border);
}

.howto-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: var(--space-sm);
    border-top: 1px solid var(--color-border);
}

.howto-card__date {
    color: var(--color-muted);
    font-size: var(--font-size-xs);
}

.howto-card__action {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    color: var(--color-accent);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    text-decoration: none;
    transition: gap var(--transition-fast), color var(--transition-fast);
}

.howto-card__action i {
    transition: transform var(--transition-fast);
}

.howto-card:hover .howto-card__action {
    color: var(--color-accent-strong);
}

.howto-card:hover .howto-card__action i {
    transform: translateX(var(--space-xs));
}

.sidebar-equipment-list {
    display: grid;
    gap: var(--space-sm);
}

.equipment-mini-card {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-paper);
    text-decoration: none;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.equipment-mini-card:hover {
    border-color: var(--color-accent);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.equipment-mini-card__thumb {
    width: 4.5rem;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--color-surface);
    flex-shrink: 0;
    display: grid;
    place-items: center;
}

.equipment-mini-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.equipment-mini-card__placeholder {
    color: var(--color-muted);
    font-size: var(--font-size-lg);
}

.equipment-mini-card__body {
    flex: 1;
    min-width: 0;
}

.equipment-mini-card__brand {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--color-muted);
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-wide);
}

.equipment-mini-card__title {
    display: block;
    font-size: var(--font-size-sm);
    color: var(--color-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: var(--font-weight-bold);
}

.equipment-mini-card__arrow {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    transition: color var(--transition-fast), transform var(--transition-fast);
}

.equipment-mini-card:hover .equipment-mini-card__arrow {
    color: var(--color-accent);
    transform: translate(2px, -2px);
}

.sidebar-story__meta {
    display: block;
    color: var(--color-muted);
    font-size: var(--font-size-xs);
    margin-top: var(--space-xs);
}

.games-filter__category-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 2.25rem;
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    color: var(--color-ink);
    text-decoration: none;
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.games-filter__category-link:hover {
    background: var(--color-surface);
    color: var(--color-accent);
}

.games-filter--active-box {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    margin-bottom: var(--space-md);
}

.games-filter__active-tag {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--space-xs);
    font-size: var(--font-size-sm);
}

.games-filter__tag-remove {
    color: var(--color-muted);
    font-size: var(--font-size-lg);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.games-filter__tag-remove:hover {
    color: var(--color-accent);
}

:root {
    /* Component tokens: semantic project tokens remain the source of color and spacing. */
    --page-intro-surface: var(--color-paper);
    --page-intro-foreground: var(--color-ink);
    --page-intro-summary-color: var(--color-muted);
    --page-intro-border-color: var(--color-border);
    --page-intro-signal-color: var(--color-primary);
    --page-intro-title-size: clamp(2rem, 3.2vw, 3.15rem);
    --page-intro-title-spacing: -0.035em;
    --page-intro-padding-block: clamp(var(--space-lg), 2.8vw, var(--space-xl));
    --page-intro-summary-size: 1rem;
    --page-intro-summary-gap: var(--space-md);
    --page-intro-media-gap: clamp(var(--space-lg), 3vw, var(--space-xl));
}

.page-intro-surface {
    padding-block: 0;
    border-bottom: 1px solid var(--page-intro-border-color);
    color: var(--page-intro-foreground);
    background: var(--page-intro-surface);
}

.page-intro h1 {
    max-width: 28ch;
    margin: 0;
    color: var(--page-intro-foreground);
    font-size: var(--page-intro-title-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--page-intro-title-spacing);
    line-height: var(--line-height-tight);
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.page-intro--section {
    min-height: 0;
    padding-block: var(--page-intro-padding-block);
}

.page-intro--category {
    min-height: 0;
    padding-block: var(--page-intro-padding-block);
}

.page-intro--plain {
    padding-bottom: var(--space-lg);
    border-bottom: 1px solid var(--page-intro-border-color);
}

.page-intro--media {
    align-items: start;
    gap: var(--page-intro-media-gap);
    padding-block: var(--page-intro-padding-block);
}

.page-intro--identity {
    gap: var(--page-intro-media-gap);
    padding-block: var(--page-intro-padding-block);
    border-bottom: 1px solid var(--page-intro-border-color);
}

.home-edition {
    padding-top: clamp(var(--space-md), 2.5vw, var(--space-xl));
}

.events-hero__switch .button {
    border-color: var(--color-border);
    color: var(--color-accent);
    background: var(--color-surface);
}

.category-page {
    background: var(--color-bg);
}

.category-header {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: var(--space-lg);
    margin: 0 0 var(--space-xl);
    padding: var(--page-intro-padding-block) 0;
    border: 0;
    border-bottom: 1px solid var(--page-intro-border-color);
    border-radius: 0;
    color: var(--page-intro-foreground);
    background: transparent;
    box-shadow: none;
}

.category-hero .category-header {
    margin-bottom: 0;
}

.category-header::after {
    display: none;
}

.category-header .eyebrow {
    color: var(--page-intro-signal-color);
}

.category-header h1 {
    max-width: 28ch;
    margin: 0;
    color: var(--page-intro-foreground);
    font-size: var(--page-intro-title-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--page-intro-title-spacing);
    line-height: var(--line-height-tight);
    text-wrap: balance;
}

.category-header__title > p:last-child,
.category-header > div > p:last-child,
.category-header__counter span {
    max-width: 68ch;
    margin-top: var(--page-intro-summary-gap);
    color: var(--page-intro-summary-color);
    font-size: var(--page-intro-summary-size);
    line-height: var(--line-height-body);
}

.category-header__counter strong {
    color: var(--color-accent);
    font-size: var(--font-size-3xl);
    line-height: var(--line-height-tight);
}

.category-children {
    grid-column: 1 / -1;
}

.category-children a {
    border-color: var(--color-border);
    color: var(--color-accent);
    background: var(--page-intro-surface);
}

.category-children a:hover,
.category-children a:focus-visible {
    border-color: var(--color-accent);
    color: var(--color-accent);
    background: var(--color-accent-soft);
}

.catalog-heading {
    align-items: end;
    margin-bottom: var(--space-xl);
    padding: var(--page-intro-padding-block) 0 var(--space-lg);
    border-bottom: 1px solid var(--page-intro-border-color);
}

.catalog-heading h1,
.portfolio-detail h1 {
    margin-bottom: var(--space-sm);
    font-size: var(--page-intro-title-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--page-intro-title-spacing);
    line-height: var(--line-height-tight);
    text-wrap: balance;
}

.portfolio-detail__header {
    padding-top: var(--page-intro-padding-block);
}

.catalog-heading p {
    margin-bottom: 0;
    font-size: var(--page-intro-summary-size);
}

.company-hero,
.club-hero,
.branch-hero {
    align-items: center;
    gap: var(--page-intro-media-gap);
    padding: var(--page-intro-padding-block) 0;
    border: 0;
    border-bottom: 1px solid var(--page-intro-border-color);
    border-radius: 0;
    background: transparent;
}

.company-hero__logo,
.club-hero__logo {
    width: min(24%, 15rem);
    min-height: 9rem;
    padding: var(--space-md);
    border: 1px solid var(--page-intro-border-color);
    border-radius: var(--radius-lg);
    background: var(--page-intro-surface);
}

.company-hero__logo img,
.club-hero__logo img {
    width: 100%;
    height: 7rem;
    object-fit: contain;
}

@media (max-width: 61.99rem) {
.company-hero__logo,
    .club-hero__logo {
        width: min(32%, 13rem);
    }
}

@media (max-width: 47.99rem) {
.category-header,
    .catalog-heading,
    .company-hero,
    .club-hero,
    .branch-hero {
        grid-template-columns: 1fr;
        margin-inline: 0;
    }
.category-header__counter {
        justify-self: start;
    }
.company-hero__logo,
    .club-hero__logo {
        width: min(46%, 11rem);
        min-height: 7rem;
    }
.company-hero__logo img,
    .club-hero__logo img {
        height: 5.5rem;
    }
}

/* Companies catalog v2: final scoped rules supersede the legacy three-card grid. */
.companies-page .company-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.companies-page .company-card {
    display: grid;
    grid-template-columns: minmax(9rem, 0.38fr) minmax(0, 1fr);
    min-height: 17rem;
}

.companies-page .company-card__logo {
    min-height: 100%;
    border-right: 1px solid var(--color-border);
    border-bottom: 0;
}

.companies-page .company-card__logo img {
    height: 8rem;
}

@media (min-width: 48rem) {
    .company-detail .company-hero__logo {
        width: 100%;
    }
}

@media (max-width: 74.99rem) {
    .companies-page .company-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 47.99rem) {
    .companies-page .company-grid,
    .companies-page .company-card {
        grid-template-columns: 1fr;
    }

    .companies-page .company-card__logo {
        min-height: 9rem;
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
    }
}
