/* Group profiles and cards follow the highway pages' spacing and theme. */
.groups-page,.group-detail-page,.group-record,.group-directory-record {
    --group-ink:var(--rz-text-color,#e8edf0);
    --group-link:var(--rz-link-color,#9cc5ff);
    --group-panel:var(--rz-base-background-color,#181d21);
    --group-line:color-mix(in srgb,var(--group-ink) 16%,transparent);
    --group-color:var(--group-link);
    color:var(--group-ink);
}
.groups-page,.group-detail-page.group-detail-page { max-width:1280px; margin:0 auto; padding:28px clamp(16px,3vw,40px); }
.groups-page a,.group-detail-page a { color:var(--group-link); }
.groups-page a:focus-visible,.group-detail-page a:focus-visible { outline:3px solid var(--group-link); outline-offset:3px; border-radius:5px; }
.group-eyebrow { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; opacity:.65; }
.groups-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; margin-bottom:20px; }
.groups-directory-title { display:flex; align-items:center; gap:20px; min-width:0; }
.groups-directory-title>img { flex:0 0 64px; object-fit:contain; image-rendering:pixelated; }
.groups-header h1 { font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.15; letter-spacing:-.025em; margin:8px 0; }
.groups-header p { margin:0; font-size:.9rem; line-height:1.6; opacity:.65; }
.groups-catalog-count { flex-shrink:0; padding:8px 12px; border:1px solid var(--group-line); border-radius:8px; font-size:.75rem; opacity:.7; }
.groups-loading { display:grid; place-items:center; min-height:40vh; }
.groups-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:24px; }
.groups-search { flex:1; min-width:min(280px,100%); }
.groups-result-count { font-size:.8rem; opacity:.65; }
.groups-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr)); gap:18px; }
.group-card { min-width:0; display:flex; flex-direction:column; padding:22px; border:1px solid var(--group-line); border-top:3px solid var(--group-color); border-radius:12px; background:linear-gradient(140deg,color-mix(in srgb,var(--group-color) 5%,transparent),transparent 45%),var(--group-panel); }
.group-card-category { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:20px; }
.group-kind { display:inline-flex; padding:5px 9px; border-radius:6px; border:1px solid color-mix(in srgb,var(--group-color) 28%,transparent); background:color-mix(in srgb,var(--group-color) 9%,transparent); font-size:.68rem; font-weight:600; line-height:1.4; }
.group-card-status { font-size:.68rem; opacity:.6; margin-left:auto; }
.group-card-head { display:flex; min-width:0; margin-bottom:16px; }
.group-identity { display:flex; align-items:center; gap:14px; min-width:0; color:inherit!important; text-decoration:none; }
.group-logo-shell { position:relative; width:64px; height:64px; flex:0 0 64px; border-radius:10px; overflow:hidden; border:1px solid var(--group-line); background:color-mix(in srgb,var(--group-color) 10%,var(--group-panel)); }
.group-logo,.group-monogram { position:absolute; inset:0; width:100%; height:100%; box-sizing:border-box; }
.group-logo { object-fit:contain; padding:6px; background:var(--group-panel); }
.group-monogram { display:grid; place-items:center; font-size:1rem; font-weight:700; color:var(--group-ink); }
.group-title-block { min-width:0; display:grid; gap:5px; }
.group-name { font-size:1.08rem; font-weight:600; line-height:1.35; margin:0; overflow-wrap:anywhere; }
.group-identity:hover .group-name { color:var(--group-link); }
.groups-page .group-era { font-size:.72rem; line-height:1.5; opacity:.6; }
.group-desc { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; font-size:.85rem; line-height:1.75; opacity:.75; margin:0 0 20px; }
.group-card-bottom { margin-top:auto; }
.group-meta { display:flex; flex-wrap:wrap; gap:10px 18px; padding-top:16px; border-top:1px solid var(--group-line); }
.group-count { display:inline-flex; align-items:center; gap:5px; font-size:.75rem; text-decoration:none; }
.group-count .rzi { font-size:18px; }
.group-count:hover { text-decoration:underline; }
.group-card-links { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin:16px 0; }
.group-external { display:inline-flex; align-items:center; gap:5px; font-size:.75rem; min-height:34px; text-decoration:none; }
.group-external .rzi { font-size:17px; }
.group-card-open { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:36px; margin-top:12px; font-size:.8rem; font-weight:600; text-decoration:none; }
.group-card-open>span { font-size:1rem; }
.group-card-open:hover { text-decoration:underline; }
.group-breadcrumb { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:.85rem; margin:4px 0 22px; }
.group-breadcrumb>span { opacity:.65; }
.group-detail-page .group-overview { padding:32px; border:1px solid var(--group-line); border-top:3px solid var(--group-color); border-radius:18px; box-shadow:none; background:linear-gradient(120deg,color-mix(in srgb,var(--group-color) 9%,transparent),transparent 70%),var(--group-panel); }
.group-detail-page .group-hero-main { align-items:center; gap:28px; }
.group-detail-page .group-hero-logo-shell,.group-detail-page .group-hero-monogram { width:128px; height:128px; border-radius:14px; border:1px solid var(--group-line); background:color-mix(in srgb,var(--group-color) 10%,var(--group-panel)); }
.group-detail-page .group-hero-logo-shell .group-hero-logo,.group-detail-page .group-hero-logo-shell .group-hero-monogram { width:100%; height:100%; border:0; border-radius:0; box-sizing:border-box; }
.group-detail-page .group-hero-logo { padding:10px; background:var(--group-panel); }
.group-detail-page .group-hero-monogram { color:var(--group-ink); font-size:2.1rem; }
.group-detail-page .group-hero-title-row { margin:14px 0; }
.group-detail-page .group-hero h1 { font-size:clamp(2rem,3.6vw,3.2rem); letter-spacing:-.035em; line-height:1.12; overflow-wrap:anywhere; }
.group-detail-page .group-era { gap:8px 20px; margin-top:0; opacity:.7; font-size:.8rem; line-height:1.6; }
.group-detail-page .group-era .rzi { font-size:18px; }
.group-detail-page .group-aliases { display:block; font-size:.75rem; opacity:.65; color:inherit; margin-top:8px; }
.group-detail-page .group-links { align-items:center; gap:10px; margin-top:22px; }
.group-detail-page .group-links:empty { display:none; }
.group-resource-action { display:inline-flex; align-items:center; gap:7px; min-height:42px; box-sizing:border-box; padding:9px 12px; border:1px solid var(--group-line); border-radius:8px; font-size:.85rem; font-weight:600; }
.group-resource-action .rzi { font-size:19px; }
.group-detail-page .group-fact-strip { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:0; border:1px solid var(--group-line); border-radius:12px; overflow:hidden; background:var(--group-panel); margin:18px 0 24px; }
.group-fact-strip>a { display:flex; align-items:center; gap:14px; padding:18px 24px; border-right:1px solid var(--group-line); text-decoration:none; min-width:0; }
.group-fact-strip>a:last-child { border-right:0; }
.group-fact-strip>a:hover { background:color-mix(in srgb,var(--group-link) 5%,transparent); }
.group-fact-strip>a>.rzi { font-size:24px; opacity:.7; }
.group-detail-page .group-fact-strip>a>span { opacity:1; }
.group-fact-strip>a>span:nth-child(2) { display:grid; gap:4px; }
.group-detail-page .group-fact-strip strong { font-size:1.45rem; line-height:1.2; color:var(--group-ink); font-variant-numeric:tabular-nums; }
.group-detail-page .group-fact-strip span>span { font-size:.72rem; opacity:.7; color:var(--group-ink); }
.group-detail-page .group-fact-strip .group-stat-arrow { margin-left:auto; font-size:.85rem; opacity:.6; }
.group-detail-page .group-section { margin:24px 0 0; padding:24px; border:1px solid var(--group-line); border-radius:12px; background:var(--group-panel); scroll-margin-top:20px; }
.group-detail-page .group-section-heading { margin-bottom:20px; align-items:center; }
.group-detail-page .group-section-heading h2 { display:flex; align-items:center; gap:10px; font-size:1.1rem; font-weight:600; line-height:1.4; }
.group-section-heading h2>.rzi { font-size:21px; color:var(--group-link); }
.group-detail-page .group-section-heading p { margin-top:6px; font-size:.8rem; line-height:1.6; opacity:.65; }
.group-detail-page .group-section-heading>span { display:inline-flex; align-items:center; justify-content:center; padding:5px 10px; border:1px solid var(--group-line); border-radius:7px; min-width:28px; font-size:.85rem; font-weight:600; }
.group-detail-page .group-history .group-description { max-width:95ch; margin:0; font-size:.95rem; line-height:1.8; }
.group-detail-page .group-build-search { padding:12px; border-color:var(--group-line); margin-bottom:18px; }
.group-detail-page .group-build-grid { grid-template-columns:repeat(auto-fill,minmax(min(265px,100%),1fr)); gap:14px; }
.group-detail-page .group-build-card { display:flex; flex-direction:column; min-width:0; gap:16px; padding:18px; border:1px solid var(--group-line); border-radius:10px; }
.group-detail-page .group-build-card h3 { font-size:1rem; line-height:1.4; margin:14px 0 8px; overflow-wrap:anywhere; }
.group-detail-page .group-build-card h3 a { color:var(--group-link); text-decoration:none; }
.group-detail-page .group-build-card h3 a:hover { text-decoration:underline; }
.group-detail-page .group-build-meta { display:grid; gap:5px; font-family:inherit; font-size:.73rem; line-height:1.5; }
.group-build-meta>span+span { font-variant-numeric:tabular-nums; }
.group-detail-page .group-build-actions { flex-direction:row; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:12px; padding-top:12px; margin-top:auto; border-top:1px solid var(--group-line); font-size:.75rem; }
.group-build-actions .rzi { font-size:17px; }
.group-build-actions>span:first-child { margin-right:auto; opacity:.65; }
.group-build-actions a { text-decoration:none; min-height:28px; }
.group-detail-page .dimension-pill { display:inline-flex; border-radius:5px; padding:4px 8px; color:var(--group-ink); background:color-mix(in srgb,#6ca888 14%,transparent); border:1px solid color-mix(in srgb,#6ca888 35%,transparent); font-size:.65rem; }
.group-detail-page .dimension-1 { background:color-mix(in srgb,#c48762 14%,transparent); border-color:color-mix(in srgb,#c48762 35%,transparent); }
.group-detail-page .dimension-2 { background:color-mix(in srgb,#aa87d7 14%,transparent); border-color:color-mix(in srgb,#aa87d7 35%,transparent); }
.group-detail-page .group-highway-list { grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr)); gap:12px; }
.group-detail-page .group-highway-row { min-width:0; padding:0; gap:0; grid-template-columns:minmax(0,1fr); border:1px solid var(--group-line); border-radius:10px; overflow:hidden; }
.group-detail-page .group-highway-row,.group-record-grid li[data-dimension] { border-top:3px solid var(--highway-accent); background:linear-gradient(145deg,color-mix(in srgb,var(--highway-accent) 9%,transparent),color-mix(in srgb,var(--highway-accent) 3%,transparent)); }
.group-detail-page .group-highway-row:hover { background:linear-gradient(145deg,color-mix(in srgb,var(--highway-accent) 15%,transparent),color-mix(in srgb,var(--highway-accent) 6%,transparent)); }
.group-detail-page .group-highway-map { padding:16px; gap:12px; color:var(--group-link); }
.group-highway-map>.rzi { font-size:22px; color:var(--highway-accent); }
.group-highway-copy { min-width:0; }
.group-highway-copy strong { display:block; font-size:.9rem; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.group-highway-copy small { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px; font-size:.7rem; line-height:1.5; color:var(--group-ink); }
.group-detail-page .group-highway-copy small { opacity:1; }
.group-highway-dimension { padding:4px 8px; border:1px solid color-mix(in srgb,var(--highway-accent) 35%,transparent); background:color-mix(in srgb,var(--highway-accent) 12%,transparent); border-radius:5px; font-size:.65rem; font-weight:600; }
.group-highway-role { opacity:.7; }
.group-highway-arrow { opacity:.65; }
.group-detail-page .group-highway-data { justify-self:end; padding:0 16px 12px; font-size:.7rem; }
.group-detail-page .group-empty { border-color:var(--group-line); font-size:.85rem; line-height:1.7; }
.group-detail-page .group-map-toolbar { gap:8px; margin-bottom:14px; }
.group-detail-page .group-map-dimension,.group-detail-page .group-map-open { min-height:38px; border-color:var(--group-line); font-weight:500; }
.group-detail-page .group-map-dimension.active { border-color:var(--group-color); background:color-mix(in srgb,var(--group-color) 9%,transparent); }
.group-detail-page .group-map-canvas { border-color:var(--group-line); }
.group-media { margin-top:32px; scroll-margin-top:20px; }
.group-media .entity-attachments>h2 { font-size:1.15rem; }
.group-record-footer { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:20px; margin-top:32px; border-top:1px solid var(--group-line); font-size:.75rem; line-height:1.7; opacity:.75; }
.group-record-footer>span:last-child { flex-basis:100%; }
/* Generated readable records keep histories and attribution lists available without JavaScript. */
.atlas-record.group-record,.atlas-record.group-directory-record { max-width:1180px; }
.group-record article { border:1px solid var(--group-line); border-top:3px solid var(--group-link); }
.group-record-header { display:flex; align-items:center; gap:24px; margin-bottom:20px; }
.group-record-header>p { margin:0; flex:0 0 auto; }
.group-record-header .logo { width:112px; height:112px; padding:8px; box-sizing:border-box; border:1px solid var(--group-line); }
.group-record-header h1 { margin:8px 0; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.2; letter-spacing:-.025em; }
.group-record-header .group-eyebrow { margin:0; }
.group-record section { margin-top:28px; border-top:1px solid var(--group-line); padding-top:16px; }
.group-record h2 { font-size:1.15rem; }
.group-record .group-record-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); padding:0; list-style:none; gap:12px; }
.group-record-grid li { padding:16px; border:1px solid var(--group-line); border-radius:10px; margin:0!important; }
.group-record-grid li>span { display:block; font-size:.8rem; margin-top:8px; }
.group-record .group-record-sources { list-style:none; padding:0; }
.group-record-sources li { padding:16px; border:1px solid var(--group-line); border-radius:10px; }
.group-directory-record ol { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:16px; }
.group-directory-record li { border:1px solid var(--group-line); border-radius:12px; padding:20px; background:var(--group-panel); }
.group-directory-record li>span { display:block; font-size:.75rem; margin-top:12px; }
.group-directory-record li p { font-size:.85rem; line-height:1.7; }
@media(max-width:760px) {
    .groups-header { align-items:flex-start; flex-direction:column; gap:16px; }
    .groups-catalog-count { padding:0; border:0; }
    .groups-directory-title { gap:14px; }
    .groups-directory-title>img { width:46px; height:46px; flex-basis:46px; }
    .groups-toolbar .groups-search { flex-basis:100%; }
    .groups-toolbar .rz-selectbar { max-width:100%; flex-wrap:wrap; }
    .group-detail-page .group-overview { padding:22px; }
    .group-detail-page .group-hero-main { display:flex; align-items:flex-start; flex-direction:column; gap:18px; }
    .group-detail-page .group-hero-logo-shell,.group-detail-page .group-hero-monogram { width:88px; height:88px; border-radius:12px; }
    .group-detail-page .group-hero h1 { font-size:2rem; }
    .group-detail-page .group-section { padding:18px; }
    .group-detail-page .group-section-heading { align-items:flex-start; gap:10px; }
    .group-fact-strip>a { padding:16px 12px; gap:8px; }
    .group-fact-strip>a>.rzi,.group-detail-page .group-fact-strip .group-stat-arrow { display:none; }
    .group-detail-page .group-fact-strip strong { font-size:1.35rem; }
    .group-detail-page .group-fact-strip span>span { font-size:.65rem; }
    .group-detail-page .group-map-canvas { height:360px; }
    .group-record-header { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .group-card { transition:none; } }
