/* Brand choices end at this surface. Platform navigation, identity and footer
   always retain the SOULWARE shell. All fonts are already bundled locally. */
.brand-space {
  --brand-bg:#f7f7f2;
  --brand-ink:#192016;
  --brand-accent:#dce6ca;
  --brand-accent-ink:#192016;
  --brand-font:var(--sans,SoulSans,Arial,sans-serif);
  --brand-hero-size:clamp(64px,12vw,190px);
  --brand-title-size:clamp(48px,7.5vw,120px);
  --brand-section-size:clamp(34px,4.8vw,72px);
  --brand-button-bg:transparent;
  --brand-button-ink:var(--brand-ink);
  --brand-button-border:var(--brand-ink);
  --brand-button-radius:0;
  --brand-focus:#506d32;
  --muted:#606957;
  --line:#cdd2c4;
}
.brand-space[data-palette=night] {
  --brand-bg:#1a2118;
  --brand-ink:#f1f1e8;
  --brand-accent:#cad7b8;
  --brand-accent-ink:#1a2118;
  --brand-focus:#e3f1ce;
  --muted:#c1c9b7;
  --line:#59644f;
}
.brand-space[data-palette=clay] {
  --brand-bg:#ede5da;
  --brand-ink:#382b24;
  --brand-accent:#d4bfae;
  --brand-accent-ink:#382b24;
  --brand-focus:#714832;
  --muted:#6b584b;
  --line:#b9ab9a;
}
.brand-space[data-palette=pistachio] {
  --brand-bg:#e4e9d9;
  --brand-ink:#24301d;
  --brand-accent:#c6d2b0;
  --brand-accent-ink:#24301d;
  --brand-focus:#3d5b28;
  --muted:#56614d;
  --line:#a5b297;
}
.brand-space[data-font=serif] {
  --brand-font:var(--serif,SoulSerif,Georgia,serif);
}
.brand-space[data-density=compact] { --space:clamp(48px,6vw,85px); }
.brand-space[data-density=balanced] { --space:clamp(56px,7.5vw,112px); }
.brand-space[data-density=spacious] { --space:clamp(64px,9vw,144px); }
.brand-space[data-heading=restrained] {
  --brand-hero-size:clamp(48px,8vw,116px);
  --brand-title-size:clamp(40px,6vw,88px);
  --brand-section-size:clamp(30px,4vw,56px);
}
.brand-space :is(h1,h2,h3,.body-copy,.brand-title) { font-family:var(--brand-font); }
.brand-space h1 { font-size:var(--brand-title-size); }
.brand-space h2 { font-size:var(--brand-section-size); }
.brand-space .brand-cover h1 { font-size:var(--brand-hero-size); }
.brand-space[data-buttons=solid] {
  --brand-button-bg:var(--brand-ink);
  --brand-button-ink:var(--brand-bg);
}
.brand-space[data-buttons=soft] {
  --brand-button-bg:var(--brand-accent);
  --brand-button-ink:var(--brand-accent-ink);
  --brand-button-border:transparent;
  --brand-button-radius:999px;
}
.brand-space :is(button,.button) {
  min-height:44px;
  background:var(--brand-button-bg);
  color:var(--brand-button-ink);
  border-color:var(--brand-button-border);
  border-radius:var(--brand-button-radius);
}
.brand-space :is(button,.button):hover:not(:disabled) {
  background:var(--brand-ink);
  color:var(--brand-bg);
  border-color:var(--brand-ink);
}
.brand-space[data-buttons=solid] :is(button,.button):hover:not(:disabled) {
  background:var(--brand-accent);
  color:var(--brand-accent-ink);
  border-color:var(--brand-accent);
}
.brand-space :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:2px solid var(--brand-focus);
  outline-offset:5px;
}
