/* ====================================================================
   CASTA.AGENCY — tokens.css
   Все значения дизайн-системы. В остальных css-файлах — только var().
   Источник: src/styles.css (@theme исходного utility-фреймворка v4) + фактические значения
   утилитарных классов из разметки исходника.

   БРЕЙКПОИНТЫ (в media query переменные не работают, поэтому фикс здесь,
   в остальных файлах используются эти же числа):
     --casta-bp-sm: 640px   (utility-класс sm:)
     --casta-bp-md: 768px   (utility-класс md:)
     --casta-bp-lg: 1024px  (utility-класс lg:)
   ==================================================================== */

:root {
  /* --------------------------------------------------------------
     ЦВЕТА (старые имена shadcn — в комментариях и в README)
     -------------------------------------------------------------- */
  --casta-color-bg: #f2f1f1;              /* --background */
  --casta-color-ink: #39374c;             /* --foreground, --primary */
  --casta-color-card: #ffffff;            /* --card, --popover */
  --casta-color-grey: #dddbdc;            /* --secondary, --muted, --border, --input */
  --casta-color-taupe: #8c6d73;           /* --muted-foreground */
  --casta-color-accent: #d70504;          /* --accent, --destructive, --ring */
  --casta-color-on-accent: #ffffff;       /* --accent-foreground */
  --casta-color-on-ink: #f2f1f1;          /* --primary-foreground */
  --casta-color-accent-soft: rgb(215 5 4 / 12%);  /* --accent-soft */
  --casta-color-hairline: rgb(57 55 76 / 16%);    /* --hairline */
  --casta-color-steel: #6b869b;           /* --color-steel (в вёрстке главной не используется) */

  /* Полупрозрачные производные (в исходнике — модификаторы вида /70) */
  --casta-color-ink-90: color-mix(in srgb, var(--casta-color-ink) 90%, transparent);
  --casta-color-ink-80: color-mix(in srgb, var(--casta-color-ink) 80%, transparent);
  --casta-color-ink-75: color-mix(in srgb, var(--casta-color-ink) 75%, transparent);
  --casta-color-ink-70: color-mix(in srgb, var(--casta-color-ink) 70%, transparent);
  --casta-color-ink-25: color-mix(in srgb, var(--casta-color-ink) 25%, transparent);
  --casta-color-ink-08: color-mix(in srgb, var(--casta-color-ink) 8%, transparent);
  --casta-color-on-ink-85: color-mix(in srgb, var(--casta-color-on-ink) 85%, transparent);
  --casta-color-on-ink-75: color-mix(in srgb, var(--casta-color-on-ink) 75%, transparent);
  --casta-color-on-ink-60: color-mix(in srgb, var(--casta-color-on-ink) 60%, transparent);
  --casta-color-on-ink-25: color-mix(in srgb, var(--casta-color-on-ink) 25%, transparent);
  --casta-color-on-ink-15: color-mix(in srgb, var(--casta-color-on-ink) 15%, transparent);
  --casta-color-on-ink-10: color-mix(in srgb, var(--casta-color-on-ink) 10%, transparent);
  --casta-color-on-ink-07: color-mix(in srgb, var(--casta-color-on-ink) 7%, transparent);
  --casta-color-accent-40: color-mix(in srgb, var(--casta-color-accent) 40%, transparent);
  --casta-color-accent-20: color-mix(in srgb, var(--casta-color-accent) 20%, transparent);
  --casta-color-accent-10: color-mix(in srgb, var(--casta-color-accent) 10%, transparent);
  --casta-color-taupe-50: color-mix(in srgb, var(--casta-color-taupe) 50%, transparent);
  --casta-color-bg-90: color-mix(in srgb, var(--casta-color-bg) 90%, transparent);
  --casta-color-accent-soft-40: rgb(215 5 4 / 5%); /* bg-accent-soft/40: 12% * 0.4 */

  /* --------------------------------------------------------------
     ШРИФТЫ
     -------------------------------------------------------------- */
  --casta-font-display: "Montserrat", system-ui, sans-serif; /* --font-display */
  --casta-font-sans: "Montserrat", system-ui, sans-serif;    /* --font-sans */
  --casta-font-mono: "IBM Plex Mono", ui-monospace, monospace; /* --font-mono */

  --casta-fw-regular: 400;
  --casta-fw-medium: 500;
  --casta-fw-semibold: 600;
  --casta-fw-bold: 700;

  /* Размеры шрифта (шкала utility-фреймворка) */
  --casta-fs-label: 0.6875rem;   /* label-mono */
  --casta-fs-xs: 0.75rem;        /* text-xs */
  --casta-fs-sm: 0.875rem;       /* text-sm */
  --casta-fs-topbar: 0.7rem;     /* text-[0.7rem] */
  --casta-fs-base: 1rem;         /* text-base */
  --casta-fs-lg: 1.125rem;       /* text-lg */
  --casta-fs-xl: 1.25rem;        /* text-xl */
  --casta-fs-2xl: 1.5rem;        /* text-2xl */
  --casta-fs-3xl: 1.875rem;      /* text-3xl */
  --casta-fs-4xl: 2.25rem;       /* text-4xl */
  --casta-fs-5xl: 3rem;          /* text-5xl */
  --casta-fs-6xl: 3.75rem;       /* text-6xl */

  /* Адаптивные display-размеры (clamp из исходника) */
  --casta-fs-display-hero: clamp(2.25rem, 5.4vw, 4.5rem); /* h1 главной */
  --casta-fs-display-h2: clamp(2rem, 4vw, 3.25rem);       /* константа H2 */
  --casta-fs-display-cta: clamp(2rem, 3.8vw, 3.25rem);    /* заголовок секции cta */
  --casta-fs-display-2xl: clamp(2.5rem, 5.5vw, 4.75rem);  /* утилита display-2xl */
  --casta-fs-display-lg: clamp(1.625rem, 2.6vw, 2.25rem); /* утилита display-lg */

  /* Межстрочные */
  --casta-lh-display: 0.94;   /* display-xl */
  --casta-lh-display-2xl: 0.96;
  --casta-lh-display-lg: 1.1;
  --casta-lh-none: 1;
  --casta-lh-tight: 1.25;     /* leading-tight */
  --casta-lh-snug: 1.375;     /* leading-snug */
  --casta-lh-normal: 1.5;
  --casta-lh-body: 1.6;       /* утилита body */
  --casta-lh-body-lg: 1.55;   /* утилита body-lg */
  --casta-lh-relaxed: 1.625;  /* leading-relaxed */
  --casta-lh-label: 1.45;

  /* Межбуквенные */
  --casta-ls-display: -0.02em;     /* display-xl / display-lg */
  --casta-ls-display-2xl: -0.03em;
  --casta-ls-tight: -0.025em;      /* tracking-tight */
  --casta-ls-wide: 0.025em;        /* tracking-wide */
  --casta-ls-topbar: 0.08em;       /* tracking-[0.08em] */
  --casta-ls-label: 0.16em;        /* label-mono */

  /* --------------------------------------------------------------
     ОТСТУПЫ (utility-шкала: 1 = 0.25rem)
     -------------------------------------------------------------- */
  --casta-space-1: 0.25rem;
  --casta-space-1-5: 0.375rem;
  --casta-space-2: 0.5rem;
  --casta-space-2-5: 0.625rem;
  --casta-space-3: 0.75rem;
  --casta-space-3-5: 0.875rem;
  --casta-space-4: 1rem;
  --casta-space-5: 1.25rem;
  --casta-space-6: 1.5rem;
  --casta-space-7: 1.75rem;
  --casta-space-8: 2rem;
  --casta-space-9: 2.25rem;
  --casta-space-10: 2.5rem;
  --casta-space-12: 3rem;
  --casta-space-14: 3.5rem;
  --casta-space-16: 4rem;
  --casta-space-20: 5rem;
  --casta-space-24: 6rem;
  --casta-space-28: 7rem;

  /* --------------------------------------------------------------
     РАЗМЕРЫ ЭЛЕМЕНТОВ И ОГРАНИЧИТЕЛИ ШИРИНЫ
     -------------------------------------------------------------- */
  --casta-size-icon-sm: 1rem;      /* h-4 w-4 — иконки топбара */
  --casta-size-icon-md: 1.25rem;   /* h-5 w-5 — лого в мобильной шапке */
  --casta-size-icon-lg: 1.75rem;   /* h-7 w-7 — лого в сайдбаре */
  --casta-size-dot: 0.5rem;        /* h-2 w-2 — пульс-точка */
  --casta-size-bullet: 0.375rem;   /* h-1.5 w-1.5 — маркер списка */
  --casta-size-glyph: 4rem;        /* h-16 w-16 — глиф услуги */
  --casta-size-stepnum: 3.5rem;    /* h-14 w-14 — номер шага */
  --casta-size-stepnum-md: 4rem;   /* md:h-16 w-16 */
  --casta-size-counter-h: 3.5rem;  /* h-14 — резерв под счётчик */
  --casta-size-counter-h-md: 4rem; /* md:h-16 */
  --casta-orn-w: 176px;            /* ширина SVG-орнамента eyebrow */
  --casta-orn-h: 24px;

  --casta-measure-hero: 22ch;      /* max-w-[22ch] h1 */
  --casta-measure-sm: 24rem;       /* max-w-sm */
  --casta-measure-md: 28rem;       /* max-w-md */
  --casta-measure-lg: 32rem;       /* max-w-lg */
  --casta-measure-xl: 36rem;       /* max-w-xl */
  --casta-measure-2xl: 42rem;      /* max-w-2xl */
  --casta-measure-40ch: 40ch;

  --casta-sidebar-w: 25%;          /* lg:w-[25%] */
  --casta-main-w: 75%;             /* lg:w-[75%] */
  --casta-hero-mark-w: 34%;        /* декоративный знак в hero */
  --casta-hero-mark-right: 6%;
  --casta-cta-mark-w: 45%;         /* декоративный знак в cta (моб.) */
  --casta-cta-mark-w-lg: 32%;
  --casta-audit-mark-w: 12rem;     /* w-48 */
  --casta-audit-mark-w-lg: 16rem;  /* lg:w-64 */
  --casta-step-title-w: 36%;       /* md:w-[36%] */
  --casta-faq-answer-pad: 4.5rem;  /* md:pl-[4.5rem] */

  /* --------------------------------------------------------------
     ЛИНИИ, РАДИУСЫ, ТЕНИ
     -------------------------------------------------------------- */
  --casta-hairline-w: 1px;         /* базовая толщина линий и gap-px */
  --casta-border-2: 2px;           /* border-l-2 у тега пакета */
  --casta-radius: 0.25rem;         /* --radius */
  --casta-radius-md: calc(var(--casta-radius) - 2px);
  --casta-radius-full: 9999px;     /* rounded-full */
  --casta-shadow-focus: 0 0 0 var(--casta-hairline-w) var(--casta-color-accent);
  --casta-underline-offset: 0.5rem;   /* underline-offset-8 */
  --casta-underline-offset-sm: 0.25rem; /* underline-offset-4 */
  --casta-blur: 8px;               /* backdrop-blur */

  /* --------------------------------------------------------------
     ДЛИТЕЛЬНОСТИ И КРИВЫЕ
     -------------------------------------------------------------- */
  --casta-dur-fast: 150ms;         /* transition-colors / transform по умолчанию */
  --casta-dur-500: 500ms;          /* duration-500 (глиф услуги) */
  --casta-dur-reveal-opacity: 900ms;
  --casta-dur-reveal-move: 1100ms;
  --casta-delay-reveal: 120ms;     /* Reveal delay={120} */
  --casta-dur-ticks: 1400ms;       /* орнамент eyebrow */
  --casta-dur-count: 1400ms;       /* счётчики (в JS продублировано) */
  --casta-dur-blink: 1.8s;         /* пульс-точка */
  --casta-dur-pulse: 3.4s;         /* node-pulse */
  --casta-dur-orbit: 22s;          /* вращение точки логотипа */
  --casta-ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --casta-ease-soft: cubic-bezier(0.4, 0, 0.2, 1);
  --casta-ease: ease;

  /* --------------------------------------------------------------
     Z-INDEX
     -------------------------------------------------------------- */
  --casta-z-topbar: 30;
  --casta-z-header: 40;

  /* --------------------------------------------------------------
     ПРОПОРЦИИ
     -------------------------------------------------------------- */
  --casta-aspect-portrait: 4 / 5;   /* карточка члена команды */
  --casta-aspect-media: 16 / 10;    /* заглушка изображения статьи */

  /* --------------------------------------------------------------
     ДОПОЛНЕНО НА ЭТАПЕ 2 (services.html)
     -------------------------------------------------------------- */
  /* h1 внутренних страниц: text-[clamp(2.25rem,5vw,4rem)] */
  --casta-fs-display-page: clamp(2.25rem, 5vw, 4rem);
  /* заголовок тёмной CTA-панели внутренних страниц: clamp(1.75rem,3.4vw,2.75rem) */
  --casta-fs-display-panel: clamp(1.75rem, 3.4vw, 2.75rem);
  --casta-measure-20ch: 20ch;      /* max-w-[20ch] h1 внутренних страниц */

  --casta-size-glyph-sm: 3.5rem;   /* h-14 w-14 — глиф в карточке услуги */
  --casta-size-bullet-sm: 0.25rem; /* h-1 w-1 — маркер плотного списка */
  --casta-bullet-sm-top: 0.55rem;  /* mt-[0.55rem] — выравнивание маркера по строке text-sm */

  --casta-pagehead-mark-w: 26%;    /* декоративный знак в шапке внутренней страницы */
  --casta-pagehead-mark-right: 4%;
  --casta-pagecta-mark-w: 38%;     /* декоративный знак в CTA-панели услуг */

  /* Полупрозрачные производные, встретившиеся на внутренних страницах */
  --casta-color-on-ink-80: color-mix(in srgb, var(--casta-color-on-ink) 80%, transparent);
  --casta-color-on-ink-30: color-mix(in srgb, var(--casta-color-on-ink) 30%, transparent);

  /* --------------------------------------------------------------
     ДОПОЛНЕНО НА ЭТАПЕ 3 (services-seo-audit-saita.html)
     -------------------------------------------------------------- */
  /* text-foreground/85 — частый самостоятельный тон лендинга услуги */
  --casta-color-ink-85: color-mix(in srgb, var(--casta-color-ink) 85%, transparent);
  --casta-measure-3xl: 48rem;      /* max-w-3xl — вводные абзацы лендинга */
  --casta-measure-18ch: 18ch;      /* max-w-[18ch] h1 лендинга услуги */

  /* --------------------------------------------------------------
     ДОПОЛНЕНО НА ЭТАПЕ 4 (portfolio)
     -------------------------------------------------------------- */
  --casta-measure-34ch: 34ch;      /* max-w-[34ch] заголовок карточки кейса */
  --casta-measure-26ch: 26ch;      /* max-w-[26ch] h1 страницы кейса */
}
