:root {
    /* Color */
    --baza-color-background-default: var(--baza-page-color-base, #f8fafc);
    --baza-color-background-muted: color-mix(in srgb, var(--baza-page-color-base, #f8fafc) 72%, var(--baza-page-color-secondary, #e2e8f0) 28%);
    --baza-color-surface-default: var(--baza-page-color-secondary, #e2e8f0);
    --baza-color-text-primary: #1f2933;
    --baza-color-text-muted: #52606d;
    --baza-color-accent-primary: var(--baza-page-color-accent, #2563eb);
    --baza-color-accent-contrast: #ffffff;
    --baza-color-accent-soft: color-mix(in srgb, var(--baza-color-accent-primary) 72%, #ffffff 28%);
    --baza-color-accent-muted: color-mix(in srgb, var(--baza-color-accent-primary) 42%, #ffffff 58%);
    --baza-color-accent-glow: color-mix(in srgb, var(--baza-color-accent-primary) 18%, transparent);
    --baza-color-border-default: color-mix(in srgb, var(--baza-page-color-secondary, #e2e8f0) 78%, #ffffff 22%);
    --baza-placeholder-background: color-mix(in srgb, var(--baza-color-background-default) 84%, var(--baza-color-surface-default) 16%);
    --baza-placeholder-surface: color-mix(in srgb, var(--baza-color-surface-default) 78%, var(--baza-color-background-muted) 22%);
    --baza-placeholder-accent: color-mix(in srgb, var(--baza-color-accent-primary) 16%, transparent);
    --baza-placeholder-gradient:
        radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--baza-color-accent-primary) 16%, transparent), transparent 36%),
        radial-gradient(circle at 82% 14%, color-mix(in srgb, var(--baza-color-accent-muted) 12%, transparent), transparent 34%),
        linear-gradient(145deg, var(--baza-placeholder-background), var(--baza-placeholder-surface));

    /* Typography */
    --baza-font-family-base: "Helvetica Neue", Arial, sans-serif;
    --baza-font-family-heading: Georgia, "Times New Roman", serif;
    --baza-font-size-body: 1rem;
    --baza-font-size-heading-lg: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
    --baza-line-height-body: 1.6;
    --baza-line-height-heading: 1.2;

    /* Spacing */
    --baza-spacing-xs: 0.25rem;
    --baza-spacing-sm: 0.5rem;
    --baza-spacing-md: 1rem;
    --baza-spacing-lg: 1.5rem;
    --baza-spacing-xl: 2rem;
    --baza-spacing-section-md: 4rem;

    /* Radius */
    --baza-radius-sm: 0.25rem;
    --baza-radius-md: 0.5rem;
    --baza-radius-card: 0.75rem;
    --baza-radius-button: 999px;

    /* Layout */
    --baza-layout-container-sm: 40rem;
    --baza-layout-container-md: 64rem;
    --baza-layout-container-lg: 80rem;
    --baza-layout-page-gutter: 1rem;

    /* Registry: layout */
    --baza-layout-page-max-width: var(--baza-layout-container-lg);
    --baza-layout-content-max-width: var(--baza-layout-container-md);
    --baza-layout-section-min-height: auto;
    --baza-layout-mobile-section-min-height: auto;

    /* Registry: spacing */
    --baza-space-section-y: var(--baza-spacing-section-md);
    --baza-space-section-y-mobile: clamp(3rem, 12vw, 5rem);
    --baza-space-block-gap: var(--baza-spacing-lg);
    --baza-space-block-gap-mobile: var(--baza-spacing-md);
    --baza-space-card-gap: var(--baza-spacing-lg);
    --baza-space-card-gap-mobile: var(--baza-spacing-md);

    /* Registry: type */
    --baza-type-hero-heading-size: var(--baza-font-size-heading-lg);
    --baza-type-hero-heading-size-mobile: clamp(1.7rem, 5.6vw, 2.15rem);
    --baza-type-section-heading-size: var(--baza-font-size-heading-lg);
    --baza-type-section-heading-size-mobile: clamp(1.85rem, 4vw, 2.25rem);
    --baza-type-body-size: var(--baza-font-size-body);
    --baza-type-body-size-mobile: 0.98rem;

    /* Registry: button */
    --baza-button-min-height: calc(var(--baza-spacing-xl) + var(--baza-spacing-lg));
    --baza-button-min-height-mobile: calc(var(--baza-spacing-xl) + var(--baza-spacing-xs));
    --baza-button-padding-x: var(--baza-spacing-lg);
    --baza-button-padding-x-mobile: var(--baza-spacing-md);
    --baza-button-padding-y: var(--baza-spacing-sm);
    --baza-button-padding-y-mobile: 0.38rem;

    /* Registry: generic block */
    --baza-block-padding-y: var(--baza-spacing-lg);
    --baza-block-padding-x: var(--baza-layout-page-gutter);
    --baza-block-gap: var(--baza-spacing-lg);
    --baza-block-heading-size: var(--baza-font-size-heading-lg);
    --baza-block-body-size: var(--baza-font-size-body);
    --baza-block-padding-y-mobile: var(--baza-spacing-md);
    --baza-block-padding-x-mobile: var(--baza-layout-page-gutter);
    --baza-block-gap-mobile: var(--baza-spacing-md);
    --baza-block-heading-size-mobile: var(--baza-type-section-heading-size-mobile);
    --baza-block-body-size-mobile: var(--baza-type-body-size-mobile);

    /* Shadow */
    --baza-shadow-card: 0 10px 30px rgba(15, 23, 42, 0.08);

    /* Motion */
    --baza-motion-duration-fast: 150ms;
    --baza-motion-duration-base: 250ms;
    --baza-motion-duration-slow: 400ms;
    --baza-motion-ease-standard: ease;
    --baza-motion-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);

    /* Media */
    --baza-media-ratio-landscape: 16 / 9;
    --baza-media-ratio-portrait: 3 / 4;
    --baza-media-ratio-square: 1 / 1;

    /* Registry: hero */
    --baza-hero-padding-y: calc(var(--baza-spacing-section-md) + var(--baza-spacing-xl));
    --baza-hero-padding-x: var(--baza-layout-page-gutter);
    --baza-hero-padding-y-mobile: var(--baza-spacing-xl);
    --baza-hero-padding-x-mobile: var(--baza-layout-page-gutter);
    --baza-hero-content-gap: var(--baza-spacing-xl);
    --baza-hero-content-gap-mobile: var(--baza-spacing-md);
    --baza-hero-heading-size: var(--baza-font-size-heading-lg);
    --baza-hero-heading-size-mobile: clamp(1.7rem, 5.6vw, 2.15rem);
    --baza-hero-heading-line-height-mobile: var(--baza-line-height-heading);
    --baza-hero-lead-size: var(--baza-font-size-body);
    --baza-hero-lead-size-mobile: 0.98rem;
    --baza-hero-lead-line-height-mobile: var(--baza-line-height-body);
    --baza-hero-visual-width: min(100%, var(--baza-layout-container-sm));
    --baza-hero-visual-width-mobile: min(100%, var(--baza-layout-container-sm));
    --baza-hero-visual-min-height: clamp(18rem, 32vw, 30rem);
    --baza-hero-visual-min-height-mobile: clamp(18rem, 32vw, 30rem);

    /* Registry: hero parallax */
    --baza-hero-parallax-min-height: clamp(18rem, 32vw, 30rem);
    --baza-hero-parallax-min-height-mobile: clamp(18rem, 32vw, 30rem);
    --baza-hero-parallax-padding-y-mobile: var(--baza-spacing-xl);
    --baza-hero-parallax-padding-x-mobile: var(--baza-layout-page-gutter);
    --baza-hero-parallax-content-gap: var(--baza-spacing-lg);
    --baza-hero-parallax-content-gap-mobile: var(--baza-spacing-md);
    --baza-hero-parallax-heading-size: var(--baza-font-size-heading-lg);
    --baza-hero-parallax-heading-size-mobile: clamp(1.7rem, 5.6vw, 2.15rem);
    --baza-hero-parallax-heading-line-height-mobile: var(--baza-line-height-heading);
    --baza-hero-parallax-lead-size-mobile: 0.98rem;
    --baza-hero-parallax-lead-line-height-mobile: var(--baza-line-height-body);
    --baza-hero-parallax-arc-size: min(100%, var(--baza-layout-container-md));
    --baza-hero-parallax-arc-size-mobile: min(100%, var(--baza-layout-container-sm));
    --baza-hero-parallax-arc-offset-mobile: var(--baza-spacing-xl);
    --baza-hero-parallax-visual-width-mobile: min(100%, var(--baza-layout-container-sm));
    --baza-hero-parallax-visual-min-height-mobile: clamp(18rem, 32vw, 30rem);
    --baza-hero-parallax-compact-heading-size-mobile: clamp(1.7rem, 5.6vw, 2.15rem);
    --baza-hero-parallax-compact-lead-size-mobile: 0.98rem;
    --baza-hero-parallax-compact-gap-mobile: var(--baza-spacing-md);
    --baza-hero-parallax-compact-meta-size-mobile: 0.76rem;
    --baza-hero-parallax-button-min-height-mobile: calc(var(--baza-spacing-xl) + var(--baza-spacing-xs));
    --baza-hero-parallax-button-padding-x-mobile: var(--baza-spacing-md);
    --baza-hero-parallax-button-padding-y-mobile: 0.38rem;

    /* Registry: section */
    --baza-section-padding-y: var(--baza-spacing-section-md);
    --baza-section-padding-y-mobile: clamp(3rem, 12vw, 5rem);
    --baza-section-padding-x-mobile: var(--baza-layout-page-gutter);
    --baza-section-content-gap: var(--baza-spacing-lg);
    --baza-section-content-gap-mobile: var(--baza-spacing-md);
    --baza-section-heading-size: var(--baza-font-size-heading-lg);
    --baza-section-heading-size-mobile: clamp(1.85rem, 4vw, 2.25rem);
    --baza-section-heading-line-height-mobile: var(--baza-line-height-heading);
    --baza-section-lead-size-mobile: var(--baza-font-size-body);
    --baza-section-lead-line-height-mobile: var(--baza-line-height-body);
    --baza-section-media-width: var(--baza-layout-container-md);
    --baza-section-media-width-mobile: min(100%, var(--baza-layout-container-sm));
    --baza-section-stack-gap-mobile: var(--baza-spacing-md);
    --baza-section-decor-offset-mobile: 0px;

    /* Registry: card grid */
    --baza-card-grid-gap: var(--baza-spacing-lg);
    --baza-card-grid-gap-mobile: var(--baza-spacing-md);
    --baza-card-padding: var(--baza-spacing-xl);
    --baza-card-padding-mobile: var(--baza-spacing-lg);

    /* Registry: cta */
    --baza-cta-padding-y: var(--baza-spacing-section-md);
    --baza-cta-padding-y-mobile: var(--baza-spacing-xl);
    --baza-cta-gap: var(--baza-spacing-lg);
    --baza-cta-gap-mobile: var(--baza-spacing-md);

    /* Registry: testimonials */
    --baza-testimonials-gap: var(--baza-spacing-lg);
    --baza-testimonials-gap-mobile: var(--baza-spacing-md);
    --baza-testimonial-card-padding: var(--baza-spacing-xl);
    --baza-testimonial-card-padding-mobile: var(--baza-spacing-lg);

    /* Registry: page snap */
    --baza-page-snap-panel-min-height: clamp(18rem, 32vw, 30rem);
    --baza-page-snap-panel-min-height-mobile: 100vh;
    --baza-page-snap-nav-offset: clamp(1.05rem, 3.4vw, 2rem);
    --baza-page-snap-nav-offset-mobile: 0.75rem;
    --baza-page-snap-nav-item-size: 3.25rem;
    --baza-page-snap-nav-item-size-mobile: 2.75rem;
    --baza-page-snap-nav-gap-mobile: 0.38rem;
    --baza-page-snap-nav-label-size-mobile: 0.66rem;
    --baza-page-snap-mobile-menu-height: 3.25rem;
    --baza-page-snap-mobile-menu-offset: 1rem;
    --baza-page-snap-mobile-menu-padding-x: 0.78rem;
    --baza-page-snap-mobile-menu-radius: 999px;
}
