:root {
  --brand-type-display-font: 'Inter';
  --brand-type-display-size: 4rem;
  --brand-type-display-size-mobile: 2.5rem;
  --brand-type-display-weight: 700;
  --brand-type-display-line-height: 1;
  --brand-type-display-letter-spacing: -0.02em;
  --brand-type-display-text-transform: none;
  --brand-type-display-font-style: normal;
  --brand-type-heading-display-font: 'Playfair Display';
  --brand-type-heading-display-size: 3.5rem;
  --brand-type-heading-display-size-mobile: 2.25rem;
  --brand-type-heading-display-weight: 700;
  --brand-type-heading-display-line-height: 1.1;
  --brand-type-heading-display-letter-spacing: 0em;
  --brand-type-heading-display-text-transform: none;
  --brand-type-heading-display-font-style: normal;
  --brand-type-heading-font: 'Inter';
  --brand-type-heading-size: 2.5rem;
  --brand-type-heading-size-mobile: 1.875rem;
  --brand-type-heading-weight: 700;
  --brand-type-heading-line-height: 1.1;
  --brand-type-heading-letter-spacing: -0.01em;
  --brand-type-heading-text-transform: none;
  --brand-type-heading-font-style: normal;
  --brand-type-heading-section-font: 'Playfair Display';
  --brand-type-heading-section-size: 2.25rem;
  --brand-type-heading-section-size-mobile: 1.875rem;
  --brand-type-heading-section-weight: 700;
  --brand-type-heading-section-line-height: 1.2;
  --brand-type-heading-section-letter-spacing: 0em;
  --brand-type-heading-section-text-transform: none;
  --brand-type-heading-section-font-style: normal;
  --brand-type-subheading-font: 'Inter';
  --brand-type-subheading-size: 1.5rem;
  --brand-type-subheading-size-mobile: 1.25rem;
  --brand-type-subheading-weight: 600;
  --brand-type-subheading-line-height: 1.2;
  --brand-type-subheading-letter-spacing: 0em;
  --brand-type-subheading-text-transform: none;
  --brand-type-subheading-font-style: normal;
  --brand-type-heading-card-font: 'Playfair Display';
  --brand-type-heading-card-size: 1.5rem;
  --brand-type-heading-card-size-mobile: 1.35rem;
  --brand-type-heading-card-weight: 600;
  --brand-type-heading-card-line-height: 1.3;
  --brand-type-heading-card-letter-spacing: 0em;
  --brand-type-heading-card-text-transform: none;
  --brand-type-heading-card-font-style: normal;
  --brand-type-body-large-font: 'Inter';
  --brand-type-body-large-size: 1.125rem;
  --brand-type-body-large-size-mobile: 1rem;
  --brand-type-body-large-weight: 400;
  --brand-type-body-large-line-height: 1.6;
  --brand-type-body-large-letter-spacing: 0em;
  --brand-type-body-large-text-transform: none;
  --brand-type-body-large-font-style: normal;
  --brand-type-body-font: 'Inter';
  --brand-type-body-size: 1rem;
  --brand-type-body-size-mobile: 1rem;
  --brand-type-body-weight: 400;
  --brand-type-body-line-height: 1.6;
  --brand-type-body-letter-spacing: 0em;
  --brand-type-body-text-transform: none;
  --brand-type-body-font-style: normal;
  --brand-type-small-font: 'Inter';
  --brand-type-small-size: 0.875rem;
  --brand-type-small-size-mobile: 0.875rem;
  --brand-type-small-weight: 400;
  --brand-type-small-line-height: 1.4;
  --brand-type-small-letter-spacing: 0em;
  --brand-type-small-text-transform: none;
  --brand-type-small-font-style: normal;
  --brand-type-body-secondary-font: 'Inter';
  --brand-type-body-secondary-size: 1rem;
  --brand-type-body-secondary-size-mobile: 1rem;
  --brand-type-body-secondary-weight: 400;
  --brand-type-body-secondary-line-height: 1.6;
  --brand-type-body-secondary-letter-spacing: 0em;
  --brand-type-body-secondary-text-transform: none;
  --brand-type-body-secondary-font-style: normal;
  --brand-type-label-font: 'Inter';
  --brand-type-label-size: 0.75rem;
  --brand-type-label-size-mobile: 0.75rem;
  --brand-type-label-weight: 600;
  --brand-type-label-line-height: 1.3;
  --brand-type-label-letter-spacing: 0.06em;
  --brand-type-label-text-transform: uppercase;
  --brand-type-label-font-style: normal;
  --brand-type-eyebrow-font: 'Inter';
  --brand-type-eyebrow-size: 0.75rem;
  --brand-type-eyebrow-size-mobile: 0.75rem;
  --brand-type-eyebrow-weight: 600;
  --brand-type-eyebrow-line-height: 1.2;
  --brand-type-eyebrow-letter-spacing: 0.08em;
  --brand-type-eyebrow-text-transform: uppercase;
  --brand-type-eyebrow-font-style: normal;
  --brand-type-button-font: 'Inter';
  --brand-type-button-size: 0.875rem;
  --brand-type-button-size-mobile: 0.875rem;
  --brand-type-button-weight: 600;
  --brand-type-button-line-height: 1.2;
  --brand-type-button-letter-spacing: 0.02em;
  --brand-type-button-text-transform: none;
  --brand-type-button-font-style: normal;
  --brand-type-quote-font: 'Playfair Display';
  --brand-type-quote-size: 1.25rem;
  --brand-type-quote-size-mobile: 1.15rem;
  --brand-type-quote-weight: 500;
  --brand-type-quote-line-height: 1.5;
  --brand-type-quote-letter-spacing: 0em;
  --brand-type-quote-text-transform: none;
  --brand-type-quote-font-style: italic;
  --brand-type-caption-font: 'Inter';
  --brand-type-caption-size: 0.875rem;
  --brand-type-caption-size-mobile: 0.875rem;
  --brand-type-caption-weight: 400;
  --brand-type-caption-line-height: 1.4;
  --brand-type-caption-letter-spacing: 0em;
  --brand-type-caption-text-transform: none;
  --brand-type-caption-font-style: normal;
}
@media (max-width: 768px) {
  :root {
    --brand-type-display-size: 2.5rem;
    --brand-type-heading-display-size: 2.25rem;
    --brand-type-heading-size: 1.875rem;
    --brand-type-heading-section-size: 1.875rem;
    --brand-type-subheading-size: 1.25rem;
    --brand-type-heading-card-size: 1.35rem;
    --brand-type-body-large-size: 1rem;
    --brand-type-body-size: 1rem;
    --brand-type-small-size: 0.875rem;
    --brand-type-body-secondary-size: 1rem;
    --brand-type-label-size: 0.75rem;
    --brand-type-eyebrow-size: 0.75rem;
    --brand-type-button-size: 0.875rem;
    --brand-type-quote-size: 1.15rem;
    --brand-type-caption-size: 0.875rem;
  }
}

:root {
  --btn-size-small-px: 1.25rem;  --btn-size-small-py: 0.5rem;   --btn-size-small-fs: calc(var(--brand-shape-button-fontSize, 1.125rem) - 0.125rem);
  --btn-size-medium-px: 1.5rem;  --btn-size-medium-py: 0.75rem; --btn-size-medium-fs: var(--brand-shape-button-fontSize, 1.125rem);
  --btn-size-large-px: 2.5rem;   --btn-size-large-py: 1.25rem;  --btn-size-large-fs: calc(var(--brand-shape-button-fontSize, 1.125rem) + 0.125rem);
}

:root {
  --brand-color-brand-primary: #C1793A;
  --brand-color-brand-primary-hsl: 28 54% 49%;
  --brand-color-brand-primary-rgb: 193, 121, 58;
  --brand-color-brand-secondary: #F2E9DD;
  --brand-color-brand-secondary-hsl: 34 45% 91%;
  --brand-color-brand-secondary-rgb: 242, 233, 221;
  --brand-color-brand-accent: #3b82f6;
  --brand-color-brand-accent-hsl: 217 91% 60%;
  --brand-color-brand-accent-rgb: 59, 130, 246;
  --brand-color-semantic-success: #16a34a;
  --brand-color-semantic-success-hsl: 142 76% 36%;
  --brand-color-semantic-success-rgb: 22, 163, 74;
  --brand-color-semantic-warning: #d97706;
  --brand-color-semantic-warning-hsl: 32 95% 44%;
  --brand-color-semantic-warning-rgb: 217, 119, 6;
  --brand-color-semantic-error: #dc2626;
  --brand-color-semantic-error-hsl: 0 72% 51%;
  --brand-color-semantic-error-rgb: 220, 38, 38;
  --brand-color-semantic-info: #0284c7;
  --brand-color-semantic-info-hsl: 200 98% 39%;
  --brand-color-semantic-info-rgb: 2, 132, 199;
  --brand-color-surface-pageBg: #FFFFFF;
  --brand-color-surface-pageBg-hsl: 0 0% 100%;
  --brand-color-surface-pageBg-rgb: 255, 255, 255;
  --brand-color-surface-cardBg: #FFFFFF;
  --brand-color-surface-cardBg-hsl: 0 0% 100%;
  --brand-color-surface-cardBg-rgb: 255, 255, 255;
  --brand-color-surface-sectionAlt: #F6F1E9;
  --brand-color-surface-sectionAlt-hsl: 37 42% 94%;
  --brand-color-surface-sectionAlt-rgb: 246, 241, 233;
  --brand-color-surface-border: #DDD3C4;
  --brand-color-surface-border-hsl: 36 27% 82%;
  --brand-color-surface-border-rgb: 221, 211, 196;
  --brand-color-surface-darkBg: #221C18;
  --brand-color-surface-darkBg-hsl: 24 17% 11%;
  --brand-color-surface-darkBg-rgb: 34, 28, 24;
  --brand-color-text-body: #2A2420;
  --brand-color-text-body-hsl: 24 14% 15%;
  --brand-color-text-body-rgb: 42, 36, 32;
  --brand-color-text-muted: #6B5F52;
  --brand-color-text-muted-hsl: 31 13% 37%;
  --brand-color-text-muted-rgb: 107, 95, 82;
  --brand-color-text-heading: #211B17;
  --brand-color-text-heading-hsl: 24 18% 11%;
  --brand-color-text-heading-rgb: 33, 27, 23;
  --brand-color-text-headingAccent: #C1793A;
  --brand-color-text-headingAccent-hsl: 28 54% 49%;
  --brand-color-text-headingAccent-rgb: 193, 121, 58;
  --brand-color-text-bodyOnDark: #F5EFE6;
  --brand-color-text-bodyOnDark-hsl: 36 43% 93%;
  --brand-color-text-bodyOnDark-rgb: 245, 239, 230;
  --brand-color-text-headingOnDark: #FFFFFF;
  --brand-color-text-headingOnDark-hsl: 0 0% 100%;
  --brand-color-text-headingOnDark-rgb: 255, 255, 255;
  --brand-font-heading: 'Playfair Display';
  --brand-font-body: 'Inter';
  --brand-shape-button-radius: 8px;
  --brand-shape-button-fontSize: 1.125rem;
  --brand-shape-card-radius: 10px;
  --brand-shape-base-radius: 8px;
  --brand-shape-large-radius: 24px;
  --brand-shape-input-radius: 8px;
  --brand-shape-input-fontSize: 1rem;
  --brand-shape-input-paddingY: 0.5rem;
  --brand-shape-input-paddingX: 0.75rem;
  --brand-shape-input-focusRingWidth: 2px;
  --brand-shape-input-labelFontSize: 1rem;
  --brand-shape-input-labelGap: 0.25rem;
  --brand-shape-input-fieldGap: 1rem;
  --brand-shape-input-textareaMinHeight: 4rem;
  --brand-spacing-density: 4rem;
  --brand-shadow-elevation: none;
  --brand-website-header-logoSize: Medium;
  --brand-website-header-mobileMenu: Drawer;
  --brand-website-hero-overlayEnabled: false;
  --brand-website-hero-overlayColor: #1A1A1A;
  --brand-website-hero-overlayColor-hsl: 0 0% 10%;
  --brand-website-hero-overlayColor-rgb: 26, 26, 26;
  --brand-website-hero-overlayOpacity: 40;
  --brand-website-hero-textColor: Dark;
  --brand-website-hero-gradient: None;
  --brand-website-section-darkBg: #2C2A26;
  --brand-website-section-darkBg-hsl: 40 7% 16%;
  --brand-website-section-darkBg-rgb: 44, 42, 38;
  --brand-website-footer-bgTone: Dark;
  --brand-website-footer-showSocial: true;
  --brand-website-footer-socialStyle: Outline;
  --brand-website-footer-columns: 3;
  --brand-website-blog-bodySize: Default;
  --brand-website-blog-codeStyle: Light;
  --brand-website-blog-blockquoteStyle: Left border;
  --brand-website-images-radius: 8px;
  --brand-website-images-border-width: 0;
  --brand-website-images-shadow: 0 1px 2px rgba(26,26,26,0.06), 0 1px 4px rgba(26,26,26,0.04);
  --brand-website-images-hoverEffect: None;
}

/* Per-selection token-aware styling */
.tus-color-brand-primary { color: var(--brand-color-brand-primary) }
.tus-color-brand-secondary { color: var(--brand-color-brand-secondary) }
.tus-color-brand-accent { color: var(--brand-color-brand-accent) }
.tus-color-semantic-success { color: var(--brand-color-semantic-success) }
.tus-color-semantic-warning { color: var(--brand-color-semantic-warning) }
.tus-color-semantic-error { color: var(--brand-color-semantic-error) }
.tus-color-semantic-info { color: var(--brand-color-semantic-info) }
.tus-color-surface-pageBg { color: var(--brand-color-surface-pageBg) }
.tus-color-surface-cardBg { color: var(--brand-color-surface-cardBg) }
.tus-color-surface-sectionAlt { color: var(--brand-color-surface-sectionAlt) }
.tus-color-surface-border { color: var(--brand-color-surface-border) }
.tus-color-surface-darkBg { color: var(--brand-color-surface-darkBg) }
.tus-color-text-body { color: var(--brand-color-text-body) }
.tus-color-text-muted { color: var(--brand-color-text-muted) }
.tus-color-text-heading { color: var(--brand-color-text-heading) }
.tus-color-text-headingAccent { color: var(--brand-color-text-headingAccent) }
.tus-color-text-bodyOnDark { color: var(--brand-color-text-bodyOnDark) }
.tus-color-text-headingOnDark { color: var(--brand-color-text-headingOnDark) }

.tus-weight-bold { font-weight: bold }
.tus-style-italic { font-style: italic }
.tus-decor-underline { text-decoration: underline }
.tus-decor-strikethrough { text-decoration: line-through }


/* Per-selection font-family (V2) */
.tus-font-inter { font-family: "Inter", sans-serif }
.tus-font-playfair-display { font-family: "Playfair Display", sans-serif }


/* Popup brand vars */
.pop-canvas {
  --pc-primary: #C1793A;
  --pc-primary-2: #925b2c;
  --pc-teal: #F2E9DD;
  --pc-accent: #C1793A;
  --pc-text: #2A2420;
  --pc-muted: #6B5F52;
  --pc-surface: #FFFFFF;
  --pc-heading: #211B17;
  --pc-divider: #C1793A;
  --pc-btn-bg: #3b82f6;
  --pc-btn-text: #C1793A;
  --pc-btn-border: #C1793A;
  --pc-radius-card: 10px;
  --pc-radius-btn: 8px;
  --pc-font-head: 'Playfair Display';
  --pc-font-body: 'Inter';
}


/* Popup tus-* scoped overrides */
.pop-canvas .tus-weight-bold         { font-weight: bold }
.pop-canvas .tus-style-italic        { font-style: italic }
.pop-canvas .tus-decor-underline     { text-decoration: underline }
.pop-canvas .tus-decor-strikethrough { text-decoration: line-through }
.pop-canvas .tus-color-brand-primary { color: var(--pc-primary) }
.pop-canvas .tus-color-brand-secondary { color: var(--pc-teal) }
.pop-canvas .tus-color-brand-accent { color: var(--pc-accent) }
.pop-canvas .tus-color-semantic-success { color: var(--brand-color-semantic-success) }
.pop-canvas .tus-color-semantic-warning { color: var(--brand-color-semantic-warning) }
.pop-canvas .tus-color-semantic-error { color: var(--brand-color-semantic-error) }
.pop-canvas .tus-color-semantic-info { color: var(--brand-color-semantic-info) }
.pop-canvas .tus-color-surface-pageBg { color: var(--brand-color-surface-pageBg) }
.pop-canvas .tus-color-surface-cardBg { color: var(--pc-surface) }
.pop-canvas .tus-color-surface-sectionAlt { color: var(--brand-color-surface-sectionAlt) }
.pop-canvas .tus-color-surface-border { color: var(--brand-color-surface-border) }
.pop-canvas .tus-color-surface-darkBg { color: var(--brand-color-surface-darkBg) }
.pop-canvas .tus-color-text-body { color: var(--pc-text) }
.pop-canvas .tus-color-text-muted { color: var(--pc-muted) }
.pop-canvas .tus-color-text-heading { color: var(--pc-heading) }
.pop-canvas .tus-color-text-headingAccent { color: var(--pc-divider) }
.pop-canvas .tus-color-text-bodyOnDark { color: var(--brand-color-text-bodyOnDark) }
.pop-canvas .tus-color-text-headingOnDark { color: var(--brand-color-text-headingOnDark) }
.pop-canvas .tus-font-playfair-display { font-family: "Playfair Display", sans-serif }
.pop-canvas .tus-font-inter { font-family: "Inter", sans-serif }
/* tus-size-* rules require size-scale — emitted by brand-tokens.css/route.ts */
