/*
 * SETU public-site design tokens.
 * Loaded only by the public homepage. CMS and customer-dashboard styles do not import this file.
 */
:root {
  /* Brand and surfaces */
  --public-brand: #3a8dff;
  --public-brand-deep: #2479ee;
  --public-brand-soft: #dceaff;
  --public-brand-faint: #f1f6ff;
  --public-ink: #1f2429;
  --public-ink-deep: #10161d;
  --public-copy: #566270;
  --public-muted: #7e8996;
  --public-line: #dbe2ea;
  --public-line-soft: rgba(58, 141, 255, 0.12);
  --public-surface: #ffffff;
  --public-canvas: #f5f8fc;
  --public-dark: #111a23;
  --public-dark-copy: #b9c4d0;
  --public-on-brand: #ffffff;

  /* Type */
  --public-font-ui: "Gilroy", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --public-weight-regular: 400;
  --public-weight-medium: 500;
  --public-weight-strong: 600;
  --public-text-label: 0.75rem;
  --public-text-small: 0.8125rem;
  --public-text-base: 1rem; /* Canonical normal public body/UI text. */
  --public-text-lead: 1rem;
  --public-text-card: clamp(1.125rem, 1.45vw, 1.35rem);
  --public-title-card: clamp(1.65rem, 2.2vw, 2.25rem);
  --public-title-scene: clamp(2.35rem, 3.1vw, 3rem);
  --public-title-section: clamp(2.35rem, 3.1vw, 3rem);
  --public-title-page: clamp(2.55rem, 3.55vw, 3.25rem);
  --public-title-hero: clamp(2.75rem, 4.15vw, 3.75rem);
  --public-leading-tight: 1.04;
  --public-leading-heading: 1.08;
  --public-leading-body: 1.55;
  --public-tracking-heading: -0.035em;
  --public-tracking-label: 0.11em;
  --public-eyebrow-gap: 1.125rem;
  --public-title-body-gap: 1.125rem;
  --public-body-action-gap: 2.75rem;

  /* Spacing and rhythm */
  --public-space-1: 0.25rem;
  --public-space-2: 0.5rem;
  --public-space-3: 0.75rem;
  --public-space-4: 1rem;
  --public-space-5: 1.25rem;
  --public-space-6: 1.5rem;
  --public-space-8: 2rem;
  --public-space-10: 2.5rem;
  --public-space-12: 3rem;
  --public-space-16: 4rem;
  --public-space-20: 5rem;
  --public-space-24: 6rem;
  --public-space-28: 7rem;
  --public-space-32: 8rem;
  --public-copy-gap: 1.05rem;
  --public-progress-gap: 1.65rem;
  --public-cta-gap: 0.9rem;
  --public-section-y: clamp(4.5rem, 7vw, 7.5rem);
  --public-section-y-large: clamp(5rem, 8vw, 8.5rem);

  /* Layout */
  --public-page-gutter: clamp(1.25rem, 4.7vw, 5rem);
  --public-content: 78rem;
  --public-content-wide: 92rem;
  --public-shell: 86rem;
  --public-header-height: 4.6rem;
  --public-stage-min-height: 39rem;
  --public-stage-height: max(
    var(--public-stage-min-height),
    calc(var(--runtime-viewport-height, 100dvh) - var(--public-header-height))
  );

  /* Semantic component measurements */
  --public-header-logo-width: 5.9rem;
  --public-header-nav-gap: clamp(1.15rem, 1.8vw, 2rem);
  --public-mega-item-min-height: 5.8rem;
  --public-progress-line-width: 2rem;
  --public-progress-line-active-width: 3rem;
  --public-progress-line-height: 2px;
  --public-link-arrow-shift: 0.22rem;
  --public-copy-measure: 48ch;
  --public-nav-text: var(--public-text-base);
  --public-action-text: var(--public-text-base);

  /* Borders, radius, elevation */
  --public-border-width: 1px;
  --public-radius-sm: 0.65rem;
  --public-radius-md: 1rem;
  --public-radius-lg: 1.65rem;
  --public-radius-pill: 999px;
  --public-shadow-soft: 0 18px 55px rgba(28, 43, 59, 0.11);
  --public-shadow-float: 0 28px 80px rgba(28, 43, 59, 0.17);
  --public-shadow-snapshot: 0 18px 48px rgba(31, 67, 113, 0.12);

  /* Controls and icons */
  --public-control-height-sm: 2.65rem;
  --public-control-height-md: 3rem;
  --public-icon-sm: 0.875rem;
  --public-icon-md: 1rem;
  --public-icon-lg: 1.15rem;
  --public-action-gap: 0.75rem;

  /* Motion */
  --public-ease-out: cubic-bezier(.22, 1, .36, 1);
  --public-ease-standard: cubic-bezier(.2, .7, .2, 1);
  --public-duration-fast: 180ms;
  --public-duration-medium: 420ms;
  --public-duration-slow: 760ms;

  /* Layering */
  --public-z-header: 1000;
  --public-z-overlay: 1100;
  --public-z-loader: 9999;

  /* Compatibility aliases for the preserved homepage layers. */
  --setu-blue: var(--public-brand);
  --setu-blue-deep: var(--public-brand-deep);
  --setu-blue-soft: var(--public-brand-soft);
  --setu-blue-faint: var(--public-brand-faint);
  --setu-ink: var(--public-ink);
  --setu-ink-deep: var(--public-ink-deep);
  --setu-copy: var(--public-copy);
  --setu-muted: var(--public-muted);
  --setu-line: var(--public-line);
  --setu-surface: var(--public-surface);
  --setu-canvas: var(--public-canvas);
  --setu-dark: var(--public-dark);
  --font-ui: var(--public-font-ui);
  --weight-regular: var(--public-weight-regular);
  --weight-medium: var(--public-weight-medium);
  --text-xs: var(--public-text-label);
  --text-sm: var(--public-text-small);
  --text-base: var(--public-text-base);
  --text-lg: var(--public-text-lead);
  --text-xl: var(--public-text-card);
  --text-2xl: var(--public-title-card);
  --title-hero: var(--public-title-hero);
  --title-page: var(--public-title-page);
  --title-section: var(--public-title-section);
  --title-scene: var(--public-title-scene);
  --title-card: var(--public-title-card);
  --title-weight: var(--public-weight-medium);
  --space-1: var(--public-space-1);
  --space-2: var(--public-space-2);
  --space-3: var(--public-space-3);
  --space-4: var(--public-space-4);
  --space-5: var(--public-space-5);
  --space-6: var(--public-space-6);
  --space-8: var(--public-space-8);
  --space-10: var(--public-space-10);
  --space-12: var(--public-space-12);
  --space-16: var(--public-space-16);
  --space-20: var(--public-space-20);
  --space-24: var(--public-space-24);
  --space-28: var(--public-space-28);
  --space-32: var(--public-space-32);
  --page-gutter: var(--public-page-gutter);
  --content: var(--public-content);
  --content-wide: var(--public-content-wide);
  --radius-sm: var(--public-radius-sm);
  --radius-md: var(--public-radius-md);
  --radius-lg: var(--public-radius-lg);
  --radius-pill: var(--public-radius-pill);
  --shadow-soft: var(--public-shadow-soft);
  --shadow-float: var(--public-shadow-float);
  --ease-out: var(--public-ease-out);
  --ease-standard: var(--public-ease-standard);
  --duration-fast: var(--public-duration-fast);
  --duration: var(--public-duration-medium);
  --duration-slow: var(--public-duration-slow);
  --header-height: var(--public-header-height);
  --viewport-stage-min: var(--public-stage-min-height);
  --viewport-section: var(--public-stage-height);

  /* Legacy layer aliases. They inherit the public system instead of owning new values. */
  --v10-blue: var(--public-brand);
  --v10-blue-deep: var(--public-brand-deep);
  --v10-ink: var(--public-ink);
  --v10-copy: var(--public-copy);
  --v10-line: var(--public-line);
  --v10-canvas: var(--public-canvas);
  --v10-soft: var(--public-brand-soft);
  --v10-dark: var(--public-dark);
  --v10-section-y: var(--public-section-y);
  --v11-blue: var(--public-brand);
  --v11-ink: var(--public-ink);
  --v11-copy: var(--public-copy);
  --v11-line: var(--public-line-soft);
  --v11-canvas: var(--public-canvas);
  --v11-card: rgba(255,255,255,.82);
  --v11-radius: var(--public-radius-lg);
  --v11-shadow: var(--public-shadow-soft);
  --v11-ease: var(--public-ease-out);
  --set-one-blue: var(--public-brand);
  --set-one-ink: var(--public-ink);
  --set-one-navy: var(--public-dark);
  --set-one-paper: var(--public-canvas);
  --set-one-line: var(--public-line-soft);
  --set-one-muted: var(--public-copy);
  --inner-title: var(--public-title-page);
  --v14-blue: var(--public-brand);
  --v14-blue-soft: var(--public-brand-soft);
  --v14-ink: var(--public-ink);
  --v14-navy: var(--public-dark);
  --v14-muted: var(--public-copy);
  --v14-paper: var(--public-canvas);
  --v14-ivory: var(--public-surface);
  --v14-line: var(--public-line-soft);
  --v14-line-strong: rgba(58,141,255,.38);
  --v14-shadow: var(--public-shadow-soft);
  --v14-section-y: var(--public-section-y-large);
  --v14-copy-action: var(--public-space-8);
  --v14-divider-safe: clamp(3.5rem,6vw,7rem);
}
