:root {

  --font-sans: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --fs-body: clamp(1rem, 1.15vw, 1.125rem);
  --fs-small: clamp(0.75rem, 1vw, 0.875rem);
  --fs-xs: clamp(0.7rem, 0.9vw, 0.8rem);

  --fs-h1: clamp(1.8rem, 4vw, 3rem);
  --fs-h2: clamp(1.5rem, 3.2vw, 2.25rem);
  --fs-h3: clamp(1.3rem, 2.6vw, 1.875rem);
  --fs-h4: clamp(1.15rem, 2.2vw, 1.5rem);
  --fs-h5: clamp(1rem, 1.9vw, 1.25rem);
  --fs-h6: clamp(0.9rem, 1.6vw, 1.1rem);

  --space-xs: clamp(0.25rem, 0.4vw, 0.45rem);
  --space-sm: clamp(0.45rem, 0.8vw, 0.75rem);
  --space-md: clamp(0.8rem, 1.4vw, 1.25rem);
  --space-lg: clamp(1.2rem, 2vw, 2rem);
  --space-xl: clamp(1.8rem, 3vw, 3rem);

  --radius-sm: 0.35rem;
  --radius-md: 0.4rem;
  --radius-lg: 0.8rem;
  --radius-label: 0.6rem;

  --shadow-soft: rgba(0,0,0,0.06);
  --shadow-medium: rgba(0,0,0,0.12);
  --shadow-elevation-1: 0 0.5rem 1.5rem var(--shadow-soft);
  --shadow-elevation-2: 0 1rem 2.5rem var(--shadow-medium);

  --container-max: 72rem;
  --container-wide-max: 78rem;
  --sidebar-width: 20rem;

  --banner-object-x: 60%;
  --banner-object-y: 40%;

  --page-main-padding: var(--space-md) 0 var(--space-xl);

  --home-card-padding: clamp(1.5rem, 2.4vw, 2.25rem);
  --home-card-gap-bottom: var(--space-xl);

  --banner-media-h: clamp(22rem, 28vw, 32rem);

  --banner-mb: clamp(2rem, 4vw, 3.5rem);
  --banner-mb-home: clamp(3rem, 5vw, 4.5rem);

  --hero-panel-maxw: 44rem;
  --hero-panel-pad-y: clamp(3rem, 10vh, 6rem);
  --hero-panel-pad-x: var(--space-xl);

  --hero-cta-minw: 10.5rem;
  --hero-cta-h: 2.75rem;
  --hero-cta-px: 1.25rem;
  --hero-cta-border: 2px;

  --hero-cta-h-sm: 2rem;
  --hero-cta-px-sm: 1rem;
  --hero-cta-border-sm: 1.5px;

  --site-logo-h: 40px;

  --sidebar-label-offset-x: -1.2rem;
  --sidebar-label-w: 2rem;
  --sidebar-label-pad-y: 1.2rem;
  --sidebar-label-pad-x: 0.5rem;
  --sidebar-content-ml: 1rem;

  --nav-link-py: 0.85rem;
  --nav-link-px: 0.95rem;
  --nav-link-py-sm: 0.7rem;
  --nav-link-px-sm: 0.8rem;

  --nav-sublist-py: 0.35rem;
  --nav-sublist-minw: 12rem;

  --nav-sublink-py: 0.65rem;
  --nav-sublink-px: 0.9rem;

  --nav-toggle-size: 2.5rem;
  --nav-toggle-radius: var(--radius-sm);
  --nav-toggle-gap: 0.38rem;
  --nav-toggle-line-w: 1.25rem;
  --nav-toggle-line-h: 2px;

  --nav-drawer-z: 60;
  --nav-drawer-w: min(20rem, 86vw);

  --motion-fast: 160ms;
  --motion-normal: 220ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
}
