:root {
    --c-brand-color: #fecc08;
    --c-secondary: #c946ff;
    --c-bg: #0f0417;
    --c-accent-dark: #c925ff;
    --c-gradient-from: #923dc6;
    --c-gradient-to: #551db7;
    --c-text-color: #ffffff;
    --c-muted: #c1c1c1;
    --c-surface-2: #1c0a28;
    --c-line: rgba(255,255,255,0.10);
    --c-notice-bg: #dc2626;

    --c-heading-font: "Poppins", sans-serif;
    --c-font-text: "Inter", sans-serif;

    --c-type-h1: 36px; --c-fs-h2: 26px; --c-text-h3: 20px; --c-size-h4: 17px; --c-type-h5: 14px; --c-fs-h6: 12px;
    --c-size-body: 15px; --c-type-small: 13px; --c-size-xs: 11px;
    --c-leading-tight: 1.15; --c-line-normal: 1.5; --c-leading-loose: 1.65;
    --c-letter-tight: -0.01em; --c-ls-normal: 0; --c-letter-wide: 0.06em;
    --c-weight-regular: 400; --c-font-medium: 500; --c-weight-bold: 700;

    --c-gap-2xs: 4px; --c-gutter-xs: 12px; --c-spacing-sm: 20px; --c-gutter-md: 36px;
    --c-gutter-lg: 56px; --c-spacing-xl: 84px; --c-gutter-2xl: 120px; --c-gutter-3xl: 180px;

    --c-wrapper: 1100px;
    --c-prose-width: 610px;
    --c-inset-mobile: 16px;
    --c-container-padding-tablet: 24px;
    --c-gutter-desktop: 48px;

    --c-round-xs: 2px; --c-rounded-sm: 6px; --c-rounded-md: 8px; --c-round-lg: 14px;
    --c-radius-pill: 9999px; --c-circle: 50%;
    --c-shadow-sm: 0 2px 4px rgba(0,0,0,0.08);
    --c-elevation-2: 0 4px 10px rgba(0,0,0,0.10);
    --c-elevation-3: 0 8px 20px rgba(0,0,0,0.14);
    --c-border-width: 1px; --c-border-medium: 2px; --c-border-thick: 3px;

    --c-transition-fast: 80ms; --c-transition-base: 120ms; --c-duration-slow: 180ms;
    --c-ease: cubic-bezier(0.5, 0, 0.5, 1);

    --c-header-height-desktop: 80px;
    --c-header-h-mobile: 64px;
    --c-gap-section: 52px;
    --c-inner-max: calc(var(--c-wrapper) + 2 * var(--c-gutter-desktop));
}

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--c-bg);
    color: var(--c-text-color);
    font-family: var(--c-font-text);
    font-size: var(--c-size-body);
    line-height: var(--c-line-normal);
    -webkit-font-smoothing: antialiased;
    padding-top: var(--c-header-height-desktop);
}
body[data-current="/"] { padding-top: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-secondary); }
h1, h2, h3 { font-family: var(--c-heading-font); }

.skip-link {
    position: absolute; left: var(--c-spacing-sm); z-index: 200;
    background: var(--c-brand-color); color: var(--c-bg);
    padding: var(--c-gutter-xs) var(--c-spacing-sm); border-radius: var(--c-rounded-md);
    font-weight: var(--c-weight-bold);
}
.skip-link:not(:focus) { top: -200px !important; }
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; scroll-behavior: auto !important; }
}

/* Shared inner wrapper — one canonical section width */
.areaZone-inner, .elementBody-inner, .componentSpan-inner,
.zoneBlock-inner, .cellGroup-inner, .labelPanel-inner, .cellLane-inner,
.boxSet-inner, .regionSlider-inner, .chipBar-inner, .regionModule-inner,
.districtDisplay-inner, .canvasBunch-inner, .courtHeader-inner {
    max-width: calc(var(--c-wrapper) + 2 * var(--c-gutter-desktop));
    margin-inline: auto;
    padding-inline: var(--c-gutter-desktop);
    width: 100%;
}

.pageMain { display: block; }

/* ---------- HEADER (HEAD-04 + STICKY-02) ---------- */
.areaZone {
    position: sticky; top: 0; z-index: 50;
    background: var(--c-bg);
    border-bottom: var(--c-border-width) solid var(--c-line);
    transition: padding var(--c-transition-base) var(--c-ease), background var(--c-transition-base) var(--c-ease);
}
.areaZone--over-hero {
    position: fixed; left: 0; right: 0; top: 0;
    background: transparent; border-bottom-color: transparent;
}
.areaZone--over-hero.is-scrolled {
    background: rgba(15,4,23,0.92);
    backdrop-filter: blur(10px);
    border-bottom-color: var(--c-line);
}
.areaZone-inner {
    display: flex; align-items: center; gap: var(--c-gutter-md);
    min-height: var(--c-header-height-desktop);
    padding-block: var(--c-gutter-xs);
}
.areaZone.is-shrunk .areaZone-inner { padding-block: var(--c-gap-2xs); min-height: 60px; }
.areaZone-logo, .areaZone-logo-img { flex-shrink: 0; }
.areaZone-logo { display: inline-flex; align-items: center; }
.areaZone-logo-img { height: 88px; width: auto; transition: height var(--c-transition-base) var(--c-ease); }
.areaZone.is-shrunk .areaZone-logo-img { height: 64px; }
.areaZone-nav { margin-left: auto; }
.areaZone-nav-list { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--c-spacing-sm); list-style: none; margin: 0; padding: 0; }
.areaZone-nav-item { position: relative; }
.areaZone-nav-item--more { position: relative; }
.areaZone-link {
    color: var(--c-muted); text-decoration: none;
    font-family: var(--c-font-text); font-size: var(--c-type-h5); font-weight: var(--c-font-medium);
    transition: color var(--c-transition-fast) var(--c-ease);
}
.areaZone-link:hover, .areaZone-link[aria-current="page"] { color: var(--c-text-color); }
.areaZone--over-hero .areaZone-link { color: rgba(255,255,255,0.85); }
.areaZone--over-hero .areaZone-link:hover { color: #ffffff; }
.areaZone-more-toggle {
    display: inline-flex; align-items: center; gap: var(--c-gap-2xs);
    background: transparent; border: 0; cursor: pointer; font: inherit;
    font-size: var(--c-type-h5); font-weight: var(--c-font-medium); color: var(--c-muted);
    padding: 0;
}
.areaZone-more-chevron { transition: transform var(--c-transition-fast) var(--c-ease); }
.areaZone-more-toggle[aria-expanded="true"] .areaZone-more-chevron { transform: rotate(180deg); }
.areaZone-more-menu {
    position: absolute; right: 0; top: calc(100% + var(--c-gutter-xs));
    min-width: 180px; list-style: none; margin: 0; padding: var(--c-gutter-xs);
    background: var(--c-surface-2); border: var(--c-border-width) solid var(--c-line);
    border-radius: var(--c-rounded-md); box-shadow: var(--c-elevation-3);
    display: flex; flex-direction: column; gap: var(--c-gap-2xs);
}
.areaZone-more-menu[hidden] { display: none; }
.areaZone-more-link {
    display: block; padding: var(--c-gap-2xs) var(--c-gutter-xs);
    color: var(--c-muted); text-decoration: none;
    font-size: var(--c-type-small); border-radius: var(--c-rounded-sm);
    transition: color var(--c-transition-fast) var(--c-ease), background var(--c-transition-fast) var(--c-ease);
}
.areaZone-more-link:hover { color: var(--c-text-color); background: rgba(255,255,255,0.05); }
.areaZone-auth { display: flex; align-items: center; flex-shrink: 0; }
.areaZone-auth-btn {
    white-space: nowrap; flex-shrink: 0; text-decoration: none;
    padding: var(--c-gap-2xs) var(--c-spacing-sm);
    border-radius: var(--c-rounded-md); font-size: var(--c-type-h5); font-weight: var(--c-weight-bold);
    transition: background var(--c-transition-fast) var(--c-ease), color var(--c-transition-fast) var(--c-ease);
}
.areaZone-auth-btn--c-login {
    color: var(--c-bg); background: var(--c-brand-color);
    border: var(--c-border-medium) solid var(--c-brand-color);
}
.areaZone-auth-btn--c-login:hover { background: #ffd738; color: var(--c-bg); }
.areaZone-toggle {
    display: none; margin-left: auto; flex-direction: column; gap: 5px;
    background: transparent; border: 0; cursor: pointer; padding: var(--c-gap-2xs);
}
.areaZone-toggle-bar { display: block; width: 26px; height: 2px; background: var(--c-text-color); }
.areaZone--over-hero .areaZone-toggle-bar { background: #ffffff; }
.areaZone-mobile { display: none; }

/* ---------- BREADCRUMBS (BREAD-06) ---------- */
.canvasBunch { background: var(--c-surface-2); }
.canvasBunch-inner { padding-block: var(--c-gutter-xs); }
.canvasBunch-list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--c-gutter-xs); list-style: none; margin: 0; padding: 0; font-size: var(--c-type-small); }
.canvasBunch-item { display: inline-flex; align-items: center; }
.canvasBunch-link { color: var(--c-muted); text-decoration: none; }
.canvasBunch-link:hover { color: var(--c-text-color); }
.canvasBunch-sep { color: var(--c-muted); }
.canvasBunch-current { color: var(--c-text-color); }

/* ---------- HERO (HERO-12) ---------- */
.elementBody { background: linear-gradient(180deg, var(--c-gradient-to) 0%, var(--c-bg) 70%); }
.elementBody-inner { padding-block: 88px; }
.elementBody-text { max-width: 760px; margin-inline: auto; text-align: center; padding-top: var(--c-gutter-2xl); }
.elementBody-kicker { font-size: var(--c-type-small); font-style: italic; color: var(--c-brand-color); letter-spacing: var(--c-letter-wide); margin: 0 0 var(--c-spacing-sm); }
.elementBody-text h1 { font-size: var(--c-type-h1); font-weight: var(--c-weight-bold); letter-spacing: var(--c-letter-tight); line-height: var(--c-leading-tight); margin: 0 0 var(--c-gutter-md); }
.elementBody-lead { font-size: var(--c-type-h5); font-style: italic; color: var(--c-muted); max-width: 600px; margin-inline: auto; line-height: var(--c-leading-loose); }
.elementBody-meta { margin-top: var(--c-gutter-md); font-size: var(--c-size-xs); letter-spacing: var(--c-letter-wide); color: var(--c-muted); text-transform: uppercase; }
.elementBody-figure { margin: var(--c-spacing-xl) 0 0; }
.elementBody-img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--c-round-lg); }
.elementBody-cap { font-size: var(--c-size-xs); font-style: italic; color: var(--c-muted); padding-top: var(--c-gutter-xs); text-align: center; }

/* ---------- PAGE HEADER (PHEAD-02) ---------- */
.componentSpan { background: var(--c-bg); }
.componentSpan-inner { padding-block: var(--c-gap-section); text-align: center; }
.componentSpan-eyebrow { font-size: var(--c-fs-h6); text-transform: uppercase; letter-spacing: var(--c-letter-wide); color: var(--c-brand-color); font-weight: var(--c-font-medium); margin: 0 0 var(--c-spacing-sm); }
.componentSpan-title { font-size: var(--c-type-h1); font-weight: var(--c-weight-bold); letter-spacing: var(--c-letter-tight); line-height: var(--c-leading-tight); margin: 0; }
.componentSpan-divider { display: block; width: 60px; height: 3px; background: var(--c-secondary); margin: var(--c-spacing-sm) auto; border-radius: var(--c-radius-pill); }
.componentSpan-desc { max-width: 580px; margin-inline: auto; color: var(--c-muted); }

/* ---------- PROSE (PROSE-05) ---------- */
.boxSet { background: var(--c-bg); }
.boxSet-inner { padding-block: var(--c-gap-section); }
.boxSet-col { max-width: var(--c-prose-width); margin-inline: auto; }
.boxSet-h { font-family: var(--c-font-text); font-size: var(--c-text-h3); font-weight: var(--c-weight-bold); text-transform: uppercase; letter-spacing: var(--c-letter-wide); color: var(--c-text-color); margin: var(--c-gutter-lg) 0 var(--c-spacing-sm); position: relative; padding-top: var(--c-spacing-sm); }
.boxSet-h::before { content: ""; position: absolute; top: 0; left: 0; width: 40px; height: 2px; background: var(--c-secondary); }
.boxSet-col p { color: var(--c-muted); margin: 0 0 var(--c-spacing-sm); line-height: var(--c-leading-loose); }
.boxSet-col ul, .boxSet-col ol { color: var(--c-muted); margin: 0 0 var(--c-spacing-sm); padding-left: var(--c-spacing-sm); line-height: var(--c-leading-loose); }
.boxSet-col li { margin-bottom: var(--c-gap-2xs); }
.boxSet-col a { color: var(--c-brand-color); }
.boxSet-col a:hover { color: #ffd738; }
.boxSet-col strong { color: var(--c-text-color); }
.boxSet-figure { margin: 0 0 var(--c-gutter-md); }
.boxSet-figure--full { margin-bottom: var(--c-gutter-lg); }
.boxSet-img { width: 100%; border-radius: var(--c-round-lg); box-shadow: var(--c-elevation-2); }
.boxSet-figure--detail { max-width: 460px; }

/* ---------- ITEMS GRID (GRID-08) ---------- */
.zoneBlock { background: var(--c-bg); }
.zoneBlock-inner { padding-block: var(--c-gap-section); }
.zoneBlock-head { font-size: var(--c-fs-h2); font-weight: var(--c-weight-bold); letter-spacing: var(--c-letter-tight); text-align: center; margin: 0 0 var(--c-gutter-lg); }
.zoneBlock-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--c-gutter-md); }
.zoneBlock-card {
    background: var(--c-surface-2); border-top: 4px solid var(--c-secondary);
    box-shadow: var(--c-shadow-sm); border-radius: 0 0 var(--c-rounded-md) var(--c-rounded-md);
    padding: var(--c-gutter-md);
}
.zoneBlock-card-title { font-family: var(--c-heading-font); font-size: var(--c-size-h4); font-weight: var(--c-weight-bold); margin: 0 0 var(--c-gutter-xs); color: var(--c-text-color); }
.zoneBlock-card-text { font-size: var(--c-type-small); color: var(--c-muted); margin: 0; line-height: var(--c-line-normal); }

/* ---------- DATA TABLE (TABLE-01) ---------- */
.regionSlider { background: var(--c-bg); }
.regionSlider-inner { padding-block: var(--c-gap-section); }
.regionSlider-head { font-size: var(--c-fs-h2); font-weight: var(--c-weight-bold); letter-spacing: var(--c-letter-tight); margin: 0 0 var(--c-gutter-md); }
.regionSlider-wrap { overflow-x: auto; border-radius: var(--c-rounded-md); background: var(--c-surface-2); }
.regionSlider-table { width: 100%; min-width: 520px; border-collapse: collapse; }
.regionSlider-table thead { background: var(--c-brand-color); }
.regionSlider-table th[scope="col"] { font-family: var(--c-font-text); font-weight: var(--c-weight-bold); text-transform: uppercase; font-size: var(--c-fs-h6); letter-spacing: var(--c-letter-wide); color: var(--c-bg); padding: var(--c-gutter-xs) var(--c-spacing-sm); text-align: left; }
.regionSlider-table td, .regionSlider-table th[scope="row"] { padding: var(--c-gutter-xs) var(--c-spacing-sm); font-size: var(--c-type-small); text-align: left; }
.regionSlider-table th[scope="row"] { color: var(--c-text-color); font-weight: var(--c-font-medium); }
.regionSlider-table td { color: var(--c-muted); }
.regionSlider-table tbody tr:nth-child(even) { background: rgba(255,255,255,0.02); }
.regionSlider-table tbody tr:hover { background: rgba(255,255,255,0.05); transition: background var(--c-transition-fast) var(--c-ease); }

/* ---------- REVIEWS (REV-04) ---------- */
.labelPanel { background: var(--c-bg); }
.labelPanel-inner { padding-block: var(--c-gap-section); }
.labelPanel-head { font-size: var(--c-fs-h2); font-weight: var(--c-weight-bold); letter-spacing: var(--c-letter-tight); text-align: center; margin: 0 0 var(--c-gutter-lg); }
.labelPanel-featured { margin: 0 0 var(--c-gutter-lg); padding: var(--c-gutter-lg); background: rgba(254,204,8,0.06); border-radius: var(--c-round-lg); }
.labelPanel-featured-text { margin: var(--c-spacing-sm) 0; font-size: var(--c-size-h4); font-style: italic; line-height: var(--c-line-normal); color: var(--c-text-color); }
.labelPanel-featured-text p { margin: 0; }
.labelPanel-featured-cite { font-style: normal; font-weight: var(--c-weight-bold); color: var(--c-brand-color); font-size: var(--c-type-small); }
.labelPanel-stars { color: var(--c-brand-color); font-size: 20px; letter-spacing: 2px; }
.labelPanel-star { display: inline; }
.labelPanel-featured .labelPanel-stars { font-size: 28px; }
.labelPanel-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--c-gutter-md); }
.labelPanel-item { padding: var(--c-gutter-md) 0 0; border-top: var(--c-border-width) solid var(--c-line); }
.labelPanel-item-head { display: flex; align-items: center; justify-content: space-between; gap: var(--c-spacing-sm); margin-bottom: var(--c-gap-2xs); }
.labelPanel-item-author { font-weight: var(--c-weight-bold); color: var(--c-text-color); }
.labelPanel-item-text { font-size: var(--c-type-small); color: var(--c-muted); margin: 0; }

/* ---------- FAQ (FAQ-06) ---------- */
.cellGroup { background: var(--c-bg); }
.cellGroup-inner { padding-block: var(--c-gap-section); }
.cellGroup-head { font-size: var(--c-fs-h2); font-weight: var(--c-weight-bold); letter-spacing: var(--c-letter-tight); margin: 0 0 var(--c-gutter-md); }
.cellGroup-toc { padding: var(--c-gutter-md); background: rgba(254,204,8,0.05); border-radius: var(--c-rounded-md); margin-bottom: var(--c-gutter-lg); }
.cellGroup-toc-list { margin: 0; padding-left: var(--c-spacing-sm); display: grid; gap: var(--c-gap-2xs); }
.cellGroup-toc-link { color: var(--c-muted); text-decoration: none; font-size: var(--c-size-body); }
.cellGroup-toc-link:hover { color: var(--c-text-color); text-decoration: underline; }
.cellGroup-list { margin: 0; }
.cellGroup-term { font-family: var(--c-heading-font); font-weight: var(--c-weight-bold); font-size: var(--c-size-h4); color: var(--c-text-color); margin-top: var(--c-gutter-md); scroll-margin-top: calc(var(--c-header-height-desktop) + var(--c-gutter-md)); }
.cellGroup-def { margin: var(--c-gap-2xs) 0 0; }
.cellGroup-def p { color: var(--c-muted); margin: 0; line-height: var(--c-leading-loose); }

/* ---------- CTA (CTA-10) ---------- */
.cellLane { background: var(--c-bg); }
.cellLane-inner { padding-block: var(--c-gap-section); text-align: center; }
.cellLane-statement { margin: 0 auto; max-width: 900px; position: relative; }
.cellLane-statement p { font-family: var(--c-heading-font); font-size: var(--c-type-h1); font-style: italic; line-height: var(--c-leading-tight); margin: 0; color: var(--c-text-color); }
.cellLane-statement::before { content: "\201C"; display: block; font-family: var(--c-heading-font); font-size: 72px; line-height: 0.6; color: var(--c-secondary); }
.cellLane-sub { font-size: var(--c-size-body); line-height: var(--c-leading-loose); color: var(--c-muted); max-width: 580px; margin: var(--c-gutter-md) auto; }
.cellLane-link { display: inline-block; font-size: var(--c-type-h5); text-transform: uppercase; letter-spacing: var(--c-letter-wide); color: var(--c-brand-color); text-decoration: underline; font-weight: var(--c-weight-bold); }
.cellLane-link:hover { color: #ffd738; }

/* ---------- BYLINE (BYLINE-03) ---------- */
.coreSlider { border-bottom: var(--c-border-width) solid var(--c-line); border-top: var(--c-border-width) solid var(--c-line); }
.coreSlider-inner { display: flex; align-items: center; gap: var(--c-gutter-xs); padding-block: var(--c-gutter-xs); padding-inline: var(--c-gutter-desktop); max-width: calc(var(--c-wrapper) + 2 * var(--c-gutter-desktop)); margin-inline: auto; }
.coreSlider-portrait { width: 28px; height: 28px; border-radius: var(--c-circle); object-fit: cover; flex-shrink: 0; }
.coreSlider-meta { font-size: var(--c-type-small); color: var(--c-muted); }
.coreSlider-name { color: var(--c-brand-color); text-decoration: none; }
.coreSlider-name:hover { text-decoration: underline; color: #ffd738; }
.coreSlider-role { color: var(--c-muted); }

/* ---------- AUTHOR CARD (AUTH-08) ---------- */
.districtDisplay { background: var(--c-bg); }
.districtDisplay-inner { padding-block: var(--c-gap-section); }
.districtDisplay-card { display: flex; gap: var(--c-gutter-md); align-items: flex-start; background: var(--c-surface-2); border-radius: var(--c-round-lg); padding: var(--c-gutter-md); }
.districtDisplay-avatar { width: 140px; height: 140px; border-radius: var(--c-circle); object-fit: cover; flex-shrink: 0; }
.districtDisplay-body { flex: 1; min-width: 0; }
.districtDisplay-name { font-family: var(--c-heading-font); font-size: var(--c-text-h3); font-weight: var(--c-weight-bold); margin: 0; color: var(--c-text-color); }
.districtDisplay-role { font-size: var(--c-type-small); color: var(--c-muted); margin: var(--c-gap-2xs) 0 var(--c-spacing-sm); text-transform: uppercase; letter-spacing: var(--c-letter-wide); }
.districtDisplay-bio { color: var(--c-muted); margin: 0 0 var(--c-spacing-sm); line-height: var(--c-leading-loose); }
.districtDisplay-expertise { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--c-gap-2xs); }
.districtDisplay-exp-item { font-size: var(--c-size-xs); color: var(--c-text-color); background: rgba(201,70,255,0.14); border: var(--c-border-width) solid var(--c-secondary); border-radius: var(--c-radius-pill); padding: 4px var(--c-gutter-xs); }
.districtDisplay-articles { margin-top: var(--c-gutter-lg); }
.districtDisplay-articles-heading { font-size: var(--c-text-h3); font-weight: var(--c-weight-bold); margin: 0 0 var(--c-spacing-sm); }
.districtDisplay-articles-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--c-gutter-xs); }
.districtDisplay-articles-item a { color: var(--c-brand-color); text-decoration: none; }
.districtDisplay-articles-item a:hover { text-decoration: underline; color: #ffd738; }

/* ---------- LEGAL (LEGAL-05) ---------- */
.chipBar { background: var(--c-bg); }
.chipBar-inner { padding-block: var(--c-gap-section); }
.chipBar-intro { color: var(--c-muted); max-width: var(--c-prose-width); line-height: var(--c-leading-loose); }
.chipBar-list { margin: 0; max-width: var(--c-prose-width); }
.chipBar-term { font-family: var(--c-heading-font); font-weight: var(--c-weight-bold); font-size: var(--c-size-h4); color: var(--c-text-color); margin-block-start: var(--c-gutter-lg); margin-block-end: var(--c-gutter-xs); position: relative; padding-top: var(--c-gutter-xs); }
.chipBar-term::before { content: ""; position: absolute; top: 0; left: 0; width: 30px; height: 2px; background: var(--c-secondary); }
.chipBar-def { margin-inline-start: 0; color: var(--c-muted); line-height: var(--c-leading-loose); margin-block-end: var(--c-spacing-sm); }
.chipBar-def p { margin: 0 0 var(--c-gutter-xs); }
.chipBar-contacts { max-width: var(--c-prose-width); color: var(--c-muted); padding-left: var(--c-spacing-sm); }
.chipBar-disclaimer { max-width: var(--c-prose-width); color: var(--c-muted); font-size: var(--c-type-small); font-style: italic; margin-top: var(--c-gutter-md); }

/* ---------- CONTACT (FORM-04 adapted) ---------- */
.regionModule { background: var(--c-bg); }
.regionModule-inner { padding-block: var(--c-gap-section); }
.regionModule-intro { color: var(--c-muted); max-width: var(--c-prose-width); line-height: var(--c-leading-loose); margin: 0 0 var(--c-gutter-md); }
.regionModule-form { max-width: var(--c-prose-width); display: grid; gap: var(--c-spacing-sm); }
.regionModule-field { display: grid; gap: var(--c-gap-2xs); }
.regionModule-label { font-size: var(--c-type-small); font-weight: var(--c-font-medium); color: var(--c-text-color); }
.regionModule-input, .regionModule-textarea {
    font-family: var(--c-font-text); font-size: var(--c-size-body); color: var(--c-text-color);
    background: var(--c-surface-2); border: var(--c-border-width) solid var(--c-line);
    border-radius: var(--c-rounded-md); padding: var(--c-gutter-xs);
}
.regionModule-input:focus, .regionModule-textarea:focus { outline: 2px solid var(--c-secondary); border-color: var(--c-secondary); }
.regionModule-textarea { resize: vertical; min-height: 120px; }
.regionModule-submit {
    justify-self: start; background: var(--c-brand-color); color: var(--c-bg);
    border: 0; border-radius: var(--c-rounded-md); padding: var(--c-gutter-xs) var(--c-gutter-md);
    font-family: var(--c-font-text); font-weight: var(--c-weight-bold); text-transform: uppercase;
    letter-spacing: var(--c-letter-wide); cursor: pointer;
    transition: background var(--c-transition-fast) var(--c-ease);
}
.regionModule-submit:hover { background: #ffd738; color: var(--c-bg); }
.regionModule-success { color: var(--c-brand-color); font-weight: var(--c-font-medium); margin-top: var(--c-spacing-sm); }

/* ---------- ERROR (ERR-06) ---------- */
.courtHeader { background: var(--c-bg); }
.courtHeader-inner { padding-block: 88px; }
.courtHeader-card {
    max-width: 720px; margin-inline: auto; text-align: center;
    background: var(--c-surface-2); border: var(--c-border-medium) solid var(--c-secondary);
    border-radius: var(--c-round-lg); padding: var(--c-gutter-lg);
    display: flex; flex-direction: column; gap: var(--c-gutter-md); align-items: center;
    box-shadow: var(--c-elevation-2);
}
.courtHeader-title { font-size: var(--c-type-h1); font-weight: var(--c-weight-bold); margin: 0; }
.courtHeader-text { color: var(--c-muted); margin: 0; }
.courtHeader-btn { background: var(--c-brand-color); color: var(--c-bg); text-decoration: none; padding: var(--c-gutter-xs) var(--c-gutter-md); border-radius: var(--c-rounded-md); font-weight: var(--c-weight-bold); text-transform: uppercase; letter-spacing: var(--c-letter-wide); }
.courtHeader-btn:hover { background: #ffd738; color: var(--c-bg); }

/* ---------- COOKIE (COOK-07) ---------- */
.nookBody {
    position: fixed; right: var(--c-gutter-md); bottom: var(--c-gutter-md); z-index: 90;
    max-width: 320px; background: var(--c-surface-2);
    border-left: 4px solid var(--c-secondary); border-radius: var(--c-rounded-sm);
    padding: var(--c-gutter-md); box-shadow: var(--c-elevation-2);
}
.nookBody[hidden] { display: none; }
.nookBody-msg { font-size: var(--c-type-small); color: var(--c-muted); margin: 0 0 var(--c-spacing-sm); line-height: var(--c-line-normal); }
.nookBody-actions { display: flex; gap: var(--c-spacing-sm); align-items: center; }
.nookBody-accept { background: var(--c-brand-color); color: var(--c-bg); border: 0; border-radius: var(--c-rounded-sm); padding: 8px var(--c-spacing-sm); font-weight: var(--c-weight-bold); cursor: pointer; font-size: var(--c-type-small); }
.nookBody-accept:hover { background: #ffd738; color: var(--c-bg); }
.nookBody-decline { background: transparent; border: 0; color: var(--c-muted); cursor: pointer; font-size: var(--c-type-small); text-decoration: underline; }
.nookBody-decline:hover { color: var(--c-text-color); }

/* ---------- FOOTER (FOOT-07) ---------- */
.boltCarousel { background: var(--c-brand-color); color: var(--c-bg); }
.boltCarousel-grid { display: grid; grid-template-columns: 2fr 1fr; padding-inline: 0; max-width: none; }
.boltCarousel-content { padding-block: var(--c-spacing-xl); padding-inline: max(var(--c-gutter-desktop), calc((100vw - var(--c-inner-max)) / 2 + var(--c-gutter-desktop))); }
.boltCarousel-logo-img { height: 72px; width: auto; }
.boltCarousel-logo { display: inline-flex; align-items: center; }
.boltCarousel-col { min-width: 150px; }
.boltCarousel-nav-item { margin: 0; }
.boltCarousel-cols { display: flex; flex-wrap: wrap; gap: var(--c-spacing-xl); margin: var(--c-gutter-md) 0; }
.boltCarousel-col-head { font-family: var(--c-heading-font); font-size: var(--c-type-h5); font-weight: var(--c-weight-bold); text-transform: uppercase; letter-spacing: var(--c-letter-wide); margin: 0 0 var(--c-spacing-sm); color: var(--c-bg); }
.boltCarousel-nav { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--c-gap-2xs); }
.boltCarousel-nav-link { color: var(--c-bg); text-decoration: none; font-size: var(--c-type-small); opacity: 0.85; }
.boltCarousel-nav-link:hover { opacity: 1; text-decoration: underline; }
.boltCarousel-age { font-size: var(--c-type-small); color: var(--c-bg); max-width: 520px; margin: var(--c-gutter-md) 0 var(--c-spacing-sm); font-weight: var(--c-font-medium); }
.boltCarousel-copy { font-size: var(--c-type-small); color: var(--c-bg); opacity: 0.8; }
.boltCarousel-accent { background: var(--c-secondary); display: flex; align-items: center; justify-content: center; padding: var(--c-gutter-md); }
.boltCarousel-accent-label { font-family: var(--c-heading-font); font-size: var(--c-fs-h2); font-weight: var(--c-weight-bold); text-transform: uppercase; letter-spacing: var(--c-letter-tight); color: var(--c-bg); writing-mode: vertical-rl; transform: rotate(180deg); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
    .zoneBlock-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 800px) {
    :root { --c-type-h1: 26px; --c-fs-h2: 22px; --c-text-h3: 18px; --c-size-h4: 16px; }
    body { padding-top: var(--c-header-h-mobile); }
    .areaZone-inner, .boltCarousel-content, .elementBody-inner, .componentSpan-inner,
    .zoneBlock-inner, .cellGroup-inner, .labelPanel-inner, .cellLane-inner,
    .boxSet-inner, .regionSlider-inner, .chipBar-inner, .regionModule-inner,
    .districtDisplay-inner, .canvasBunch-inner, .courtHeader-inner, .coreSlider-inner {
        padding-inline: var(--c-inset-mobile);
    }
    .areaZone-inner { min-height: var(--c-header-h-mobile); }
    .areaZone-nav, .areaZone-auth { display: none; }
    .areaZone-toggle { display: flex; }
    .areaZone-logo-img { height: 60px; }
    .areaZone.is-shrunk .areaZone-logo-img { height: 52px; }
    .areaZone-mobile {
        display: none; position: fixed; top: var(--c-header-h-mobile); left: 0; right: 0; bottom: 0;
        background: var(--c-bg); padding: var(--c-gutter-md); z-index: 49; overflow-y: auto;
    }
    .areaZone-mobile.is-open { display: block; }
    .areaZone-mobile-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--c-gutter-xs); }
    .areaZone-mobile-item { margin: 0; }
    .areaZone-mobile-link { display: block; color: var(--c-text-color); text-decoration: none; font-size: var(--c-size-h4); padding: var(--c-gutter-xs) 0; border-bottom: var(--c-border-width) solid var(--c-line); }
    .zoneBlock-grid { grid-template-columns: 1fr; }
    .labelPanel-list { grid-template-columns: 1fr; }
    .boltCarousel-grid { grid-template-columns: 1fr; }
    .boltCarousel-accent { padding: var(--c-gutter-md); }
    .boltCarousel-accent-label { writing-mode: horizontal-tb; transform: none; }
    .districtDisplay-card { flex-direction: column; align-items: center; text-align: center; }
    .districtDisplay-expertise { justify-content: center; }
    .elementBody-text { padding-top: var(--c-gutter-lg); }
    .nookBody { left: var(--c-gutter-md); right: var(--c-gutter-md); max-width: none; }
    .nookBody-msg { font-size: 13px; }
}
