/* Core layer: structure, roles and scales only (ADR-051).
   No brand values here: palettes, font families and decorative assets live in
   venues/group.css (neutral group theme) and venues/{venue}.css (venue themes). */

/* Layout */
.bn-site {
 --bn-content:1280px; --bn-gutter:clamp(24px,5.556vw,80px);
 --bn-border:1px; --bn-control:48px; --bn-control-lg:56px;
}
/* Fixed container steps on wide screens; text measures stay the same. */
@media(min-width:1680px) {.bn-site {--bn-content:1440px;}}
@media(min-width:1920px) {.bn-site {--bn-content:1600px;}}

/* Spacing and type roles (web rhythm v1, ADR-050). */
.bn-site {
 --bn-space-1:4px; --bn-space-2:8px; --bn-space-3:16px; --bn-space-4:24px;
 --bn-space-5:32px; --bn-space-6:48px; --bn-space-7:64px; --bn-space-8:80px;
 --bn-section-space:160px; --bn-heading-gap:var(--bn-space-6); --bn-card-padding:var(--bn-space-5);
 --bn-page-top:40px; --bn-page-bottom:88px; --bn-title-gap:var(--bn-space-4);
 --bn-type-hero:64px;
 --bn-type-page:clamp(48px,6.25vw,80px); --bn-type-section:clamp(36px,3.75vw,48px);
 --bn-type-detail:clamp(36px,3.75vw,48px); --bn-type-subsection:32px;
 --bn-type-card:28px; --bn-type-body:16px; --bn-type-lead:18px;
 --bn-type-meta:14px; --bn-type-small:12px;
 --bn-type-price:18px; --bn-type-price-detail:28px;
 --bn-line-page:1.2; --bn-line-heading:1.3; --bn-line-card:1.35;
 --bn-line-body:1.75; --bn-line-lead:1.65;
}

/* Motion: three durations and two curves. Scroll-linked scenes and the AJAX
   page transition (navigation.css, coordinated with JS) are documented exceptions. */
.bn-site {
 --bn-dur-fast:.2s; --bn-dur-base:.5s; --bn-dur-scene:.8s;
 --bn-ease-out:cubic-bezier(.22,1,.36,1); --bn-ease-std:ease;
}

@media(max-width:767px) {
 .bn-site {--bn-gutter:24px; --bn-section-space:104px; --bn-heading-gap:var(--bn-space-5); --bn-card-padding:var(--bn-space-4);
  --bn-page-top:var(--bn-space-4); --bn-page-bottom:64px; --bn-title-gap:var(--bn-space-3);
  --bn-type-hero:44px;
  --bn-type-page:44px; --bn-type-section:32px; --bn-type-detail:32px;
  --bn-type-subsection:28px; --bn-type-card:24px; --bn-type-lead:16px;}
}
