/* render-signal.css — romibet-de-3 · TYPO-03 / SPACE-02 / CONT-08 / GEO-02 / MOTION-02 */

/* 1. Design tokens */
:root {
    --ui-brand-color: #2b195a;
    --ui-highlight: #f7c21a;
    --ui-accent-pressed: #e2ba09;
    --ui-page-bg: #0e0a2d;
    --ui-bg-elevated: #1a1342;
    --ui-grad-light: #ffffff;
    --ui-gradient-mid: #6e49fe;
    --ui-text-color: #ffffff;
    --ui-text-muted: #bebebe;

    --ui-font-title: 'Oswald', 'Arial Narrow', sans-serif;
    --ui-font-sans: 'Inter', system-ui, sans-serif;

    /* TYPO-03 desktop */
    --ui-fs-h1: 80px;  --ui-type-h2: 48px;  --ui-size-h3: 30px;  --ui-text-h4: 22px;  --ui-fs-h5: 16px; --ui-type-h6: 13px;
    --ui-text-base: 15px; --ui-size-sm: 13px; --ui-type-micro: 11px;
    --ui-lh-tight: 0.98; --ui-line-normal: 1.45; --ui-lh-loose: 1.65;
    --ui-letter-tight: -0.03em; --ui-ls-normal: 0; --ui-letter-wide: 0.08em;
    --ui-fw-normal: 400; --ui-weight-medium: 500; --ui-fw-bold: 700;

    /* SPACE-02 */
    --ui-space-2xs: 8px; --ui-gap-xs: 12px; --ui-space-sm: 16px; --ui-gap-md: 24px;
    --ui-gap-lg: 32px; --ui-space-xl: 48px; --ui-gap-2xl: 72px; --ui-gutter-3xl: 112px;

    /* CONT-08 (container_site 1140, readable 720) */
    --ui-container: 1140px;
    --ui-text-width: 720px;
    --ui-pad-mobile: 16px;
    --ui-container-padding-tablet: 32px;
    --ui-pad-desktop: 56px;

    /* GEO-02 */
    --ui-rounded-xs: 4px; --ui-round-sm: 8px; --ui-radius-md: 12px; --ui-rounded-lg: 20px; --ui-corner-pill: 9999px; --ui-radius-circle: 50%;
    --ui-elevation-1: 0 2px 6px rgba(0,0,0,0.28);
    --ui-shadow-md: 0 6px 18px rgba(0,0,0,0.34);
    --ui-hairline: 1px; --ui-border-medium: 2px; --ui-border-thick: 3px;

    /* MOTION-02 */
    --ui-transition-fast: 150ms; --ui-speed-base: 200ms; --ui-speed-slow: 300ms;
    --ui-timing: cubic-bezier(0.22, 0.61, 0.36, 1.0);

    --ui-nav-height: 128px;
}

/* 3. Reset / base */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--ui-page-bg);
    color: var(--ui-text-color);
    font-family: var(--ui-font-sans);
    font-size: var(--ui-text-base);
    line-height: var(--ui-line-normal);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ui-accent-pressed); }
h1, h2, h3, h4, h5 { font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); line-height: var(--ui-lh-tight); margin: 0 0 var(--ui-gap-md); letter-spacing: var(--ui-letter-tight); }
h1 { font-size: var(--ui-fs-h1); }
h2 { font-size: var(--ui-type-h2); }
h3 { font-size: var(--ui-size-h3); }
p { margin: 0 0 var(--ui-gap-md); }
ul { margin: 0; padding: 0; }
button { font-family: inherit; cursor: pointer; }

/* 4. a11y */
.skip-link {
    position: fixed; left: var(--ui-space-sm); z-index: 300;
    background: var(--ui-highlight); color: var(--ui-page-bg);
    padding: var(--ui-space-2xs) var(--ui-gap-md); border-radius: var(--ui-round-sm); font-weight: var(--ui-fw-bold);
}
.skip-link:not(:focus) { top: -200px !important; }
.skip-link:focus { top: var(--ui-space-sm); }
.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; }
:focus-visible { outline: 2px solid var(--ui-highlight); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

body { padding-top: var(--ui-nav-height); }

/* ============ HEADER (HEAD-03 + NAV-03 + STICKY-02) ============ */
.pulseWrapper {
    position: sticky; top: 0; z-index: 100;
    background: var(--ui-page-bg);
    border-bottom: var(--ui-hairline) solid rgba(255,255,255,0.10);
    transition: padding var(--ui-speed-base) var(--ui-timing);
}
.pulseWrapperMain { width: 100%; }
.pulseWrapperTopbar { background: var(--ui-brand-color); }
.pulseWrapperTopbarRow {
    max-width: 1440px; margin-inline: auto; padding: 0 var(--ui-gap-md);
    height: 32px; display: flex; align-items: center; justify-content: space-between;
}
.pulseWrapperInfo { font-size: var(--ui-type-micro); letter-spacing: var(--ui-letter-wide); text-transform: uppercase; color: var(--ui-text-muted); }
.pulseWrapperCtaMini { font-size: var(--ui-type-micro); letter-spacing: var(--ui-letter-wide); text-transform: uppercase; color: var(--ui-highlight); font-weight: var(--ui-fw-bold); }
.pulseWrapperCtaMini:hover { color: var(--ui-accent-pressed); }
.pulseWrapperMainRow {
    max-width: 1440px; margin-inline: auto; padding: var(--ui-space-sm) var(--ui-gap-md);
    display: flex; align-items: center; gap: var(--ui-gap-lg);
}
.pulseWrapperLogo { flex-shrink: 0; display: inline-flex; align-items: center; }
.pulseWrapperLogoImg { height: 88px; width: auto; flex-shrink: 0; transition: height var(--ui-speed-base) var(--ui-timing); }
.pulseWrapper.is-shrunk { padding-block: 0; }
.pulseWrapper.is-shrunk .pulseWrapperLogoImg { height: 72px; }
.pulseWrapperNav { margin-left: auto; display: flex; flex-direction: column; gap: var(--ui-space-2xs); }
.pulseWrapperNavListTop, .pulseWrapperNavListBottom { display: flex; flex-wrap: nowrap; gap: var(--ui-gap-md); list-style: none; }
.pulseWrapperNavListBottom { padding-top: var(--ui-space-2xs); border-top: var(--ui-hairline) solid rgba(255,255,255,0.08); }
.pulseWrapperNavItem { display: inline-flex; }
.pulseWrapperLink {
    font-family: var(--ui-font-sans); font-weight: var(--ui-weight-medium); font-size: var(--ui-size-sm);
    color: var(--ui-text-muted); white-space: nowrap; padding-block: var(--ui-space-2xs);
    transition: color var(--ui-transition-fast) var(--ui-timing);
}
.pulseWrapperLink:hover, .pulseWrapperLink[aria-current='page'] { color: var(--ui-text-color); }
.pulseWrapperToggle {
    display: none; margin-left: auto; flex-direction: column; gap: 5px;
    background: none; border: 0; padding: var(--ui-space-2xs);
}
.pulseWrapperToggle span { display: block; width: 26px; height: 2px; background: var(--ui-text-color); transition: transform var(--ui-transition-fast) var(--ui-timing); }
.pulseWrapperDrawer { display: none; background: var(--ui-bg-elevated); border-top: var(--ui-hairline) solid rgba(255,255,255,0.08); }
.pulseWrapperDrawer.is-open { display: block; }
.pulseWrapperDrawerList { list-style: none; padding: var(--ui-space-sm) var(--ui-gap-md); display: flex; flex-direction: column; gap: var(--ui-space-2xs); }
.pulseWrapperDrawerItem { display: block; }
.pulseWrapperDrawerLink { display: block; padding: var(--ui-gap-xs) 0; font-family: var(--ui-font-title); font-size: var(--ui-fs-h5); color: var(--ui-text-color); }
.pulseWrapperDrawerLink[aria-current='page'] { color: var(--ui-highlight); }

@media (max-width: 900px) {
    :root { --ui-nav-height: 76px; }
    .pulseWrapperTopbar { display: none; }
    .pulseWrapperNav { display: none; }
    .pulseWrapperToggle { display: flex; }
    .pulseWrapperMainRow { padding: var(--ui-gap-xs) var(--ui-gap-md); }
    .pulseWrapperLogoImg { height: 60px; }
}

/* ============ HERO (HERO-10 tall vertical letterform) ============ */
.tagGroup { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; background: radial-gradient(120% 80% at 80% 20%, rgba(110,73,254,0.16), transparent 60%), var(--ui-page-bg); }
.tagGroupLetterform {
    position: absolute; top: 0; height: 100%; width: 30%;
    inset-inline-start: max(var(--ui-pad-desktop), calc((100vw - var(--ui-container)) / 2));
    max-width: calc(var(--ui-container) * 0.3);
    display: flex; align-items: center; justify-content: flex-start;
    font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); font-size: 60vh; line-height: 1;
    color: var(--ui-text-color); opacity: 0.05; pointer-events: none; user-select: none;
}
.tagGroupInner { width: 100%; max-width: calc(var(--ui-container) + 2 * var(--ui-pad-desktop)); margin-inline: auto; padding-inline: var(--ui-pad-desktop); position: relative; }
.tagGroupContent { position: relative; padding-left: 35%; padding-block: var(--ui-gap-2xl); width: 100%; }
.tagGroupContent h1 { max-width: 12ch; }
.tagGroupSubtitle { font-size: var(--ui-fs-h5); line-height: var(--ui-lh-loose); color: var(--ui-text-muted); max-width: 52ch; margin-bottom: var(--ui-gap-lg); }
.tagGroupCta {
    display: inline-flex; align-items: center; min-height: 56px; padding-inline: var(--ui-gap-2xl);
    background: var(--ui-highlight); color: var(--ui-page-bg);
    font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); text-transform: uppercase; letter-spacing: var(--ui-letter-wide);
    border-radius: var(--ui-radius-md); transition: transform var(--ui-speed-base) var(--ui-timing), background var(--ui-speed-base) var(--ui-timing);
}
.tagGroupCta:hover { background: var(--ui-accent-pressed); color: var(--ui-page-bg); transform: translateY(-2px); }
@media (max-width: 880px) {
    .tagGroup { min-height: auto; }
    .tagGroupLetterform { inset-inline-start: var(--ui-pad-mobile); width: 50%; font-size: 34vh; opacity: 0.06; }
    .tagGroupInner { padding-inline: var(--ui-pad-mobile); }
    .tagGroupContent { padding-left: 0; padding-block: var(--ui-space-xl); }
}

/* ============ shared section inner (widths canon) ============ */
.fragmentModuleInner, .sectionContainerInner, .rayTrackInner, .elementRailInner,
.tagFooterInner, .coreStripInner, .districtStripInner, .arrowBodyInner {
    max-width: calc(var(--ui-container) + 2 * var(--ui-pad-desktop)); margin-inline: auto; padding-inline: var(--ui-pad-desktop);
}
@media (max-width: 880px) {
    .fragmentModuleInner, .sectionContainerInner, .rayTrackInner, .elementRailInner,
    .tagFooterInner, .coreStripInner, .districtStripInner, .arrowBodyInner {
        padding-inline: var(--ui-pad-mobile);
    }
}

/* ============ PAGE-HEADER (PHEAD-07 number + title) ============ */
.fragmentModule { padding-block: var(--ui-space-xl); border-bottom: var(--ui-hairline) solid rgba(255,255,255,0.06); }
.fragmentModuleInner { display: grid; grid-template-columns: 120px 1fr; gap: var(--ui-gap-lg); align-items: start; }
.fragmentModuleNumber { font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); font-size: calc(var(--ui-fs-h1) * 0.9); color: var(--ui-highlight); line-height: 1; }
.fragmentModuleBody { min-width: 0; }
.fragmentModuleDesc { font-size: var(--ui-fs-h5); color: var(--ui-text-muted); line-height: var(--ui-lh-loose); max-width: 60ch; margin: 0; }
@media (max-width: 880px) {
    .fragmentModuleInner { grid-template-columns: 1fr; gap: var(--ui-space-sm); }
    .fragmentModuleNumber { font-size: var(--ui-type-h2); }
}

/* ============ PROSE (PROSE-01 long-read, readable width) ============ */
.quarterRail { padding-block: var(--ui-space-xl); }
.quarterRailColumn { max-width: var(--ui-text-width); margin-inline: auto; padding-inline: var(--ui-pad-desktop); }
.quarterRailColumn h2 { margin-top: var(--ui-gap-2xl); margin-bottom: var(--ui-gap-md); }
.quarterRailColumn h2:first-child { margin-top: 0; }
.quarterRailColumn h3 { margin-top: var(--ui-gap-lg); font-size: var(--ui-text-h4); }
.quarterRailColumn p { font-size: var(--ui-text-base); line-height: var(--ui-lh-loose); }
.quarterRailColumn ul { padding-left: var(--ui-gap-md); margin-bottom: var(--ui-gap-md); }
.quarterRailColumn li { margin-bottom: var(--ui-space-2xs); line-height: var(--ui-lh-loose); }
.quarterRailColumn a { color: var(--ui-highlight); text-decoration: underline; text-underline-offset: 3px; }
.quarterRailColumn a:hover { color: var(--ui-accent-pressed); text-decoration-thickness: 2px; }
.quarterRailColumn strong { font-weight: var(--ui-fw-bold); color: var(--ui-text-color); }
.quarterRailFigure { margin: 0 0 var(--ui-gap-md); }
.quarterRailFigure img { width: 100%; border-radius: var(--ui-radius-md); }
@media (max-width: 880px) { .quarterRailColumn { padding-inline: var(--ui-pad-mobile); } }

/* ============ ITEMS-GRID (GRID-03 two-col asymmetric) ============ */
.sectionContainer { padding-block: var(--ui-space-xl); }
.sectionContainerHeading { margin-bottom: var(--ui-gap-lg); }
.sectionContainerList { list-style: none; display: grid; grid-template-columns: 3fr 2fr; gap: var(--ui-gap-md); }
.sectionContainerList > .sectionContainerItem:nth-child(4n+3) { grid-column: 1; }
.sectionContainerItem { background: var(--ui-bg-elevated); border: var(--ui-hairline) solid rgba(255,255,255,0.08); border-radius: var(--ui-radius-md); padding: var(--ui-gap-lg); }
.sectionContainerItemTitle { font-size: var(--ui-text-h4); margin-bottom: var(--ui-gap-xs); }
.sectionContainerItemText { font-size: var(--ui-text-base); line-height: var(--ui-line-normal); color: var(--ui-text-muted); margin: 0; }
@media (max-width: 880px) { .sectionContainerList { grid-template-columns: 1fr; } }

/* ============ REVIEWS (REV-08 avatar-initials) ============ */
.elementRail { padding-block: var(--ui-space-xl); background: var(--ui-bg-elevated); }
.elementRailHeading { margin-bottom: var(--ui-gap-lg); }
.elementRailList { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ui-gap-md); }
.elementRailItem { display: flex; }
.elementRailCard { background: var(--ui-page-bg); border: var(--ui-hairline) solid rgba(255,255,255,0.10); border-radius: var(--ui-radius-md); padding: var(--ui-gap-lg); height: 100%; }
.elementRailCardHeader { display: flex; align-items: center; gap: var(--ui-space-sm); margin-bottom: var(--ui-space-sm); }
.elementRailMeta { display: flex; flex-direction: column; }
.elementRailAvatar { width: 48px; height: 48px; border-radius: var(--ui-radius-circle); background: var(--ui-highlight); color: var(--ui-page-bg); display: flex; align-items: center; justify-content: center; font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); font-size: var(--ui-fs-h5); flex-shrink: 0; }
.elementRailAuthor { font-weight: var(--ui-fw-bold); color: var(--ui-text-color); }
.elementRailRating { color: var(--ui-highlight); margin-bottom: var(--ui-gap-xs); font-size: var(--ui-size-sm); letter-spacing: 2px; }
.elementRailStar { color: rgba(255,255,255,0.6); }
.elementRailStarOn { color: var(--ui-highlight); }
.elementRailText { font-size: var(--ui-text-base); line-height: var(--ui-line-normal); color: var(--ui-text-muted); margin: 0; }
@media (max-width: 880px) { .elementRailList { grid-template-columns: 1fr; } }

/* ============ FAQ (FAQ-10 sidebar two-column, always open) ============ */
.rayTrack { padding-block: var(--ui-space-xl); }
.rayTrackGrid { display: grid; grid-template-columns: 2fr 3fr; gap: var(--ui-gap-2xl); }
.rayTrackSidebar { position: sticky; top: calc(var(--ui-nav-height) + var(--ui-gap-md)); align-self: start; }
.rayTrackSidebarHeading { margin-bottom: var(--ui-space-sm); }
.rayTrackSidebarDesc { color: var(--ui-text-muted); line-height: var(--ui-lh-loose); }
.rayTrackContent { min-width: 0; }
.rayTrackList { margin: 0; }
.rayTrackQuestion { font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); font-size: var(--ui-text-h4); margin-bottom: var(--ui-space-2xs); }
.rayTrackAnswer { margin: 0 0 var(--ui-gap-lg); color: var(--ui-text-muted); line-height: var(--ui-lh-loose); }
@media (max-width: 880px) { .rayTrackGrid { grid-template-columns: 1fr; gap: var(--ui-gap-lg); } .rayTrackSidebar { position: static; } }

/* ============ DATA-TABLE (TABLE-05 compact dense) ============ */
.coreStrip { padding-block: var(--ui-space-xl); }
.coreStripTable { width: 100%; border-collapse: collapse; font-size: var(--ui-size-sm); }
.coreStripTable thead th { background: var(--ui-bg-elevated); text-align: left; text-transform: uppercase; letter-spacing: var(--ui-letter-wide); font-size: var(--ui-type-micro); font-weight: var(--ui-fw-bold); color: var(--ui-text-color); padding: var(--ui-gap-xs) var(--ui-space-sm); }
.coreStripTable td { color: var(--ui-text-muted); padding: var(--ui-gap-xs) var(--ui-space-sm); border-bottom: var(--ui-hairline) solid rgba(255,255,255,0.07); }
.coreStripTable tbody tr:hover td, .coreStripTable tr:hover td { color: var(--ui-text-color); }
@media (max-width: 560px) { .coreStripTable { font-size: var(--ui-type-micro); } }

/* ============ CTA (CTA-01 full-width accent strip) ============ */
.tagFooter { background: var(--ui-highlight); padding-block: var(--ui-space-xl); }
.tagFooterInner { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-xl); }
.tagFooterText { flex: 1; }
.tagFooterTitle { color: var(--ui-page-bg); text-transform: uppercase; letter-spacing: var(--ui-letter-tight); max-width: 20ch; margin: 0 0 var(--ui-gap-xs); }
.tagFooterDesc { color: rgba(14,10,45,0.86); max-width: 55ch; margin: 0; line-height: var(--ui-line-normal); }
.tagFooterButton {
    flex-shrink: 0; min-width: 220px; min-height: 56px; padding-inline: var(--ui-gap-2xl);
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--ui-page-bg); color: var(--ui-highlight);
    font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); text-transform: uppercase; letter-spacing: var(--ui-letter-wide);
    border-radius: var(--ui-radius-md); transition: transform var(--ui-speed-base) var(--ui-timing);
}
.tagFooterButton:hover { background: var(--ui-brand-color); color: var(--ui-highlight); transform: scale(1.03); }
@media (max-width: 880px) { .tagFooterInner { flex-direction: column; align-items: flex-start; gap: var(--ui-gap-md); } .tagFooterButton { width: 100%; } }

/* ============ BYLINE (BYLINE-02 bordered card) ============ */
.ticketStrip { padding-block: var(--ui-space-xl); }
.ticketStripCard { max-width: var(--ui-text-width); margin-inline: auto; display: flex; gap: var(--ui-gap-md); padding: var(--ui-gap-lg); background: var(--ui-bg-elevated); border: var(--ui-hairline) solid rgba(255,255,255,0.10); border-radius: var(--ui-radius-md); }
.ticketStripPortrait { flex-shrink: 0; }
.ticketStripPortraitImg { width: 64px; height: 64px; border-radius: var(--ui-radius-circle); object-fit: cover; object-position: center top; }
.ticketStripBody { min-width: 0; }
.ticketStripLabel { display: block; font-size: var(--ui-type-micro); text-transform: uppercase; letter-spacing: var(--ui-letter-wide); color: var(--ui-text-muted); margin-bottom: var(--ui-space-2xs); }
.ticketStripName { font-size: var(--ui-text-h4); margin: 0 0 var(--ui-space-2xs); }
.ticketStripName a:hover { color: var(--ui-highlight); }
.ticketStripRole { font-size: var(--ui-size-sm); color: var(--ui-text-muted); margin: 0 0 var(--ui-gap-xs); }
.ticketStripBio { font-size: var(--ui-text-base); line-height: var(--ui-line-normal); color: var(--ui-text-muted); margin: 0 0 var(--ui-gap-xs); }
.ticketStripLink { color: var(--ui-highlight); font-size: var(--ui-size-sm); text-transform: uppercase; letter-spacing: var(--ui-letter-wide); font-weight: var(--ui-fw-bold); }
.ticketStripLink:hover { color: var(--ui-accent-pressed); }
@media (max-width: 560px) { .ticketStripCard { flex-direction: column; } }

/* ============ AUTHOR-CARD (AUTH-02 vertical centered) ============ */
.areaRegion { padding-block: var(--ui-space-xl); }
.areaRegionCard { max-width: 620px; margin-inline: auto; text-align: center; }
.areaRegionPortrait { width: 140px; height: 140px; border-radius: var(--ui-radius-circle); object-fit: cover; object-position: center 20%; margin: 0 auto var(--ui-gap-lg); border: var(--ui-border-thick) solid var(--ui-bg-elevated); }
.areaRegionJobTitle { display: block; font-size: var(--ui-size-sm); text-transform: uppercase; letter-spacing: var(--ui-letter-wide); color: var(--ui-highlight); margin-bottom: var(--ui-space-2xs); }
.areaRegionName { font-size: var(--ui-type-h2); margin: 0 0 var(--ui-gap-md); }
.areaRegionBio { line-height: var(--ui-lh-loose); color: var(--ui-text-muted); margin-bottom: var(--ui-gap-md); }
.areaRegionExpertise { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ui-gap-xs); }
.areaRegionTag { font-size: var(--ui-size-sm); background: var(--ui-bg-elevated); border: var(--ui-hairline) solid rgba(255,255,255,0.10); border-radius: var(--ui-corner-pill); padding: var(--ui-space-2xs) var(--ui-space-sm); color: var(--ui-text-color); }
.areaRegionArticles { max-width: 620px; margin: var(--ui-space-xl) auto 0; text-align: left; }
.areaRegionArticlesHeading { font-size: var(--ui-text-h4); margin-bottom: var(--ui-gap-md); }
.areaRegionArticlesList { list-style: none; display: flex; flex-direction: column; gap: var(--ui-space-2xs); }
.areaRegionArticlesItem { font-size: var(--ui-text-base); }
.areaRegionArticlesItem a { color: var(--ui-highlight); text-decoration: underline; text-underline-offset: 3px; }
.areaRegionArticlesItem a:hover { color: var(--ui-accent-pressed); }

/* ============ LEGAL (LEGAL-06 compact numbered) ============ */
.chamberGrid { padding-block: var(--ui-space-xl); counter-reset: legalsec; }
.chamberGridColumn { max-width: var(--ui-text-width); margin-inline: auto; padding-inline: var(--ui-pad-desktop); }
.chamberGridIntro { font-size: var(--ui-text-base); color: var(--ui-text-muted); line-height: var(--ui-lh-loose); margin-bottom: var(--ui-gap-lg); }
.chamberGridSection { margin-bottom: var(--ui-gap-md); }
.chamberGridHeading { counter-increment: legalsec; font-size: var(--ui-text-h4); margin-bottom: var(--ui-gap-xs); }
.chamberGridHeading::before { content: '§ ' counter(legalsec) '. '; color: var(--ui-highlight); }
.chamberGridSection p { font-size: var(--ui-size-sm); line-height: var(--ui-lh-loose); color: var(--ui-text-muted); }
.chamberGridSupport { padding-left: var(--ui-gap-md); margin: var(--ui-gap-md) 0; color: var(--ui-text-muted); font-size: var(--ui-size-sm); }
.chamberGridSupport li { margin-bottom: var(--ui-space-2xs); }
.chamberGridDisclaimer { font-size: var(--ui-type-micro); color: var(--ui-text-muted); border-top: var(--ui-hairline) solid rgba(255,255,255,0.08); padding-top: var(--ui-gap-md); margin-top: var(--ui-gap-lg); }
@media (max-width: 880px) { .chamberGridColumn { padding-inline: var(--ui-pad-mobile); } }

/* ============ CONTACT-FORM (FORM-05 bordered editorial) ============ */
.regionDisplay { padding-block: var(--ui-space-xl); }
.regionDisplayColumn { max-width: var(--ui-text-width); margin-inline: auto; padding-inline: var(--ui-pad-desktop); }
.regionDisplayIntro { color: var(--ui-text-muted); line-height: var(--ui-lh-loose); margin-bottom: var(--ui-gap-lg); }
.regionDisplayForm { border: var(--ui-border-medium) solid var(--ui-highlight); border-radius: var(--ui-radius-md); padding: var(--ui-space-xl); display: flex; flex-direction: column; gap: var(--ui-gap-md); }
.regionDisplayField { display: flex; flex-direction: column; gap: var(--ui-space-2xs); }
.regionDisplayLabel { font-size: var(--ui-type-micro); text-transform: uppercase; letter-spacing: var(--ui-letter-wide); color: var(--ui-text-muted); }
.regionDisplayInput { background: transparent; border: 0; border-bottom: var(--ui-hairline) solid rgba(255,255,255,0.20); color: var(--ui-text-color); font-family: inherit; font-size: var(--ui-text-base); padding: var(--ui-space-2xs) var(--ui-space-2xs); }
.regionDisplayInput:focus { outline: 0; border-bottom-color: var(--ui-highlight); }
textarea.regionDisplayInput { resize: vertical; }
.regionDisplaySubmit { align-self: flex-start; margin-top: var(--ui-space-2xs); background: var(--ui-highlight); color: var(--ui-page-bg); border: 0; border-radius: var(--ui-radius-md); padding: var(--ui-space-sm) var(--ui-gap-2xl); font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); text-transform: uppercase; letter-spacing: var(--ui-letter-wide); transition: background var(--ui-speed-base) var(--ui-timing); }
.regionDisplaySubmit:hover { background: var(--ui-accent-pressed); color: var(--ui-page-bg); }
.regionDisplaySuccess { margin-top: var(--ui-gap-md); padding: var(--ui-gap-md); background: var(--ui-bg-elevated); border-left: var(--ui-border-thick) solid var(--ui-highlight); border-radius: var(--ui-round-sm); color: var(--ui-text-color); }
@media (max-width: 880px) { .regionDisplayColumn { padding-inline: var(--ui-pad-mobile); } }

/* ============ COOKIE (COOK-08 bordered bar, bottom-fixed) ============ */
.districtStrip { position: fixed; left: 0; right: 0; bottom: 0; z-index: 200; background: var(--ui-page-bg); border-top: var(--ui-border-medium) solid var(--ui-highlight); box-shadow: var(--ui-shadow-md); }
.districtStrip[hidden] { display: none; }
.districtStripInner { display: flex; align-items: center; gap: var(--ui-gap-md); padding-block: var(--ui-gap-xs); }
.districtStripIcon { color: var(--ui-highlight); flex-shrink: 0; }
.districtStripMessage { flex: 1; font-size: var(--ui-size-sm); color: var(--ui-text-muted); margin: 0; line-height: var(--ui-line-normal); }
.districtStripActions { display: inline-flex; gap: var(--ui-space-2xs); flex-shrink: 0; }
.districtStripAccept, .districtStripDecline { min-height: 36px; padding: var(--ui-space-2xs) var(--ui-gap-md); border-radius: var(--ui-round-sm); font-size: var(--ui-size-sm); font-weight: var(--ui-fw-bold); border: var(--ui-hairline) solid var(--ui-highlight); }
.districtStripAccept { background: var(--ui-highlight); color: var(--ui-page-bg); }
.districtStripAccept:hover { background: var(--ui-accent-pressed); color: var(--ui-page-bg); }
.districtStripDecline { background: transparent; color: var(--ui-text-color); }
.districtStripDecline:hover { background: var(--ui-bg-elevated); color: var(--ui-text-color); }
@media (max-width: 720px) {
    .districtStripInner { flex-direction: column; align-items: stretch; gap: var(--ui-space-2xs); padding: var(--ui-gap-xs) var(--ui-pad-mobile); font-size: var(--ui-size-sm); }
    .districtStripIcon { display: none; }
    .districtStripActions { width: 100%; }
    .districtStripAccept, .districtStripDecline { flex: 1; }
}

/* ============ ERROR (ERR-04 full-bleed atmospheric) ============ */
.axisBar { position: relative; min-height: 100vh; background: linear-gradient(180deg, rgba(14,10,45,0.55), rgba(14,10,45,0.92)), url('/display-dark/postcard.webp') center/cover no-repeat; display: flex; align-items: center; justify-content: center; text-align: center; }
.axisBarContent { position: relative; z-index: 1; max-width: 640px; padding: var(--ui-gap-2xl) var(--ui-pad-mobile); }
.axisBarContent h1 { font-size: var(--ui-fs-h1); margin-bottom: var(--ui-gap-md); }
.axisBarText { font-size: var(--ui-fs-h5); color: var(--ui-text-muted); line-height: var(--ui-lh-loose); margin-bottom: var(--ui-gap-lg); }
.axisBarButton { display: inline-flex; align-items: center; min-height: 56px; padding-inline: var(--ui-gap-2xl); background: var(--ui-highlight); color: var(--ui-page-bg); font-family: var(--ui-font-title); font-weight: var(--ui-fw-bold); text-transform: uppercase; letter-spacing: var(--ui-letter-wide); border-radius: var(--ui-radius-md); }
.axisBarButton:hover { background: var(--ui-accent-pressed); color: var(--ui-page-bg); }

/* ============ FOOTER (FOOT-02 two-row) ============ */
.arrowBody { background: var(--ui-page-bg); border-top: var(--ui-hairline) solid rgba(255,255,255,0.10); padding-block: var(--ui-space-xl); }
.arrowBodyRowTop { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-gap-lg); }
.arrowBodyLogo { flex-shrink: 0; display: inline-flex; }
.arrowBodyLogoImg { height: 72px; width: auto; }
.arrowBodyNav ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--ui-gap-md); }
.arrowBodyNav a, .arrowBodyLegalNav a { color: var(--ui-text-muted); font-size: var(--ui-size-sm); transition: color var(--ui-transition-fast) var(--ui-timing); }
.arrowBodyNav a:hover, .arrowBodyLegalNav a:hover { color: var(--ui-text-color); }
.arrowBodyRowBottom { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-gap-md); border-top: var(--ui-hairline) solid rgba(255,255,255,0.08); padding-top: var(--ui-gap-md); margin-top: var(--ui-gap-lg); }
.arrowBodyCopy { color: var(--ui-text-muted); font-size: var(--ui-type-micro); }
.arrowBodyLegalNav ul { list-style: none; display: flex; gap: var(--ui-gap-md); }
.arrowBodyLegalNav a { font-size: var(--ui-type-micro); }
@media (max-width: 880px) {
    .arrowBodyRowTop, .arrowBodyRowBottom { flex-direction: column; text-align: center; }
    .arrowBodyNav ul, .arrowBodyLegalNav ul { justify-content: center; }
}
