@charset "UTF-8";

/*
 * PharmaLab V2, direction C „PharmaLab Signature“ — design tokens.
 *
 * Every colour below was sampled from the owner-approved Higgsfield frames
 * (design-v2/direction-c/DIRECTION_C_IMPLEMENTATION_MAP.md §1); none is
 * invented. Components read tokens only.
 */
:root {
    /* ---- colour: the navy stage */
    --pl-navy-950: #042437;      /* hero top, header */
    --pl-navy-900: #062a3e;      /* stage body, closing stage */
    --pl-navy-800: #0b3349;      /* capability bands, illuminated areas */
    --pl-navy-700: #0d4258;      /* glow field */
    --pl-navy-foot: #082535;     /* footer */

    /* ---- colour: teal, from deep (on light) to luminous (on navy) */
    --pl-teal-700: #077a7e;
    --pl-teal-600: #119b9f;
    --pl-teal-500: #14babd;
    --pl-teal-400: #2bccc1;
    --pl-teal-300: #43ded1;
    --pl-teal-200: #50d8ce;
    --pl-teal-line: #38d6c9;

    /* ---- colour: aqua surfaces */
    --pl-aqua-200: #bfebf3;
    --pl-aqua-100: #e5f8f9;
    --pl-aqua-50: #eef8fb;

    /* ---- colour: light surfaces, lines, text */
    --pl-white: #ffffff;
    --pl-surface: #f6fafd;
    --pl-border: #e3eef3;
    --pl-border-strong: #cfdfe7;
    --pl-text: #05283d;
    --pl-text-body: #12314c;
    --pl-text-muted: #54738e;

    /* ---- colour: text on navy */
    --pl-on-navy: #ffffff;
    --pl-on-navy-lead: #d6eef2;
    --pl-on-navy-soft: #b9e3e9;
    --pl-on-navy-support: #7ad3d1;
    --pl-on-navy-label: #a4f1f1;
    --pl-on-navy-muted: #8fc6ce;
    --pl-line-navy: rgba(164, 241, 241, 0.16);

    /* ---- colour: status (one chip system) and audience tints */
    --pl-ok-bg: #d6f8f2;
    --pl-ok-text: #087a62;
    --pl-ok-dot: #0cc681;
    --pl-link-bg: #daf5f9;
    --pl-link-text: #07686d;
    --pl-link-dot: #6acdfd;
    --pl-road-bg: #eaeff3;
    --pl-road-text: #5d6b7b;
    --pl-road-dot: #b7c1ca;
    --pl-lilac-bg: #efe6fd;
    --pl-lilac-text: #4e1e96;
    --pl-tint-mint: #eefafa;
    --pl-tint-sky: #edf5fe;
    --pl-tint-lilac: #f5f4fe;
    --pl-tile-mint: #d7f5f4;
    --pl-tile-sky: #dbe9fd;
    --pl-tile-lilac: #ead5fd;

    /* ---- colour: semantic, forms only (red is never decoration) */
    --pl-danger: #b42318;
    --pl-danger-bg: #fef3f2;
    --pl-danger-line: #f4b4ae;
    --pl-field-line: #7d95a3;   /* 3:1 on white (WCAG 1.4.11); the frame draws it lighter */

    /* ---- names kept for the inner-page sheet (pages.css) */
    --pl-ink: var(--pl-text);
    --pl-muted: var(--pl-text-muted);
    --pl-bg: var(--pl-white);
    --pl-bg-2: var(--pl-surface);
    --pl-bg-3: var(--pl-aqua-50);
    --pl-line: var(--pl-border);
    --pl-line-strong: var(--pl-border-strong);
    --pl-teal-100: var(--pl-aqua-100);
    --pl-teal-50: var(--pl-aqua-50);
    --pl-success-bg: var(--pl-ok-bg);

    /* ---- type: Montserrat, a geometric sans with Cyrillic, self-hosted */
    --pl-font: "Montserrat", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
    --pl-fs-h1: clamp(1.625rem, 0.16rem + 6.67vw, 2.75rem);       /* phones: 26 → 44, „Един стандарт на грижа.“ on one line from 360 px */
    --pl-fs-h2: clamp(1.8125rem, 1.2rem + 1.9vw, 2.625rem);       /* 29 → 42 */
    --pl-fs-h2-lg: clamp(1.9375rem, 1.15rem + 2.6vw, 3.125rem);   /* 31 → 50 */
    --pl-fs-h3: clamp(1.5rem, 1.15rem + 1.2vw, 2.125rem);         /* 24 → 34 */
    --pl-fs-card: 1.3125rem;                                      /* 21 */
    --pl-fs-lead: clamp(1.0938rem, 1rem + 0.4vw, 1.25rem);        /* 17.5 → 20 */
    --pl-fs-body: 1.125rem;                                       /* 18 */
    --pl-fs-feature: 1.0625rem;                                   /* 17 */
    --pl-fs-small: 1rem;                                          /* 16 */
    --pl-fs-meta: 0.9375rem;                                      /* 15 */
    --pl-fs-legal: 0.9063rem;                                     /* 14.5 */
    --pl-fs-eyebrow: 1.0313rem;                                   /* 16.5 */
    --pl-fs-button: 1.0938rem;                                    /* 17.5 */
    --pl-lh-tight: 1.12;
    --pl-lh-heading: 1.2;
    --pl-lh-body: 1.56;
    --pl-track-tight: -0.018em;
    --pl-track-eyebrow: 0.01em;

    /* ---- space (4 px base) */
    --pl-s-1: 0.25rem;
    --pl-s-2: 0.5rem;
    --pl-s-3: 0.75rem;
    --pl-s-4: 1rem;
    --pl-s-5: 1.25rem;
    --pl-s-6: 1.5rem;
    --pl-s-8: 2rem;
    --pl-s-10: 2.5rem;
    --pl-s-12: 3rem;
    --pl-s-16: 4rem;
    --pl-band: clamp(3.25rem, 2.3rem + 3.4vw, 5rem);              /* 52 → 80: band padding, as dense as the frames */
    --pl-arc: clamp(2.5rem, 1rem + 5.6vw, 6rem);                  /* 40 → 96: depth of the soft arc */
    --pl-gutter: clamp(1.25rem, 0.4rem + 3.2vw, 3.125rem);        /* 20 → 50 */
    --pl-gap: clamp(1rem, 0.7rem + 1vw, 1.5rem);

    /* ---- widths: the frames run from x = 50 to x = 1390 on the 1440 page */
    --pl-w-content: 83.75rem;                                     /* 1340 */
    --pl-w-text: 45rem;
    --pl-w-narrow: 53.75rem;

    /* ---- shape */
    --pl-r-sm: 0.625rem;
    --pl-r-btn: 0.875rem;
    --pl-r-card: 1rem;
    --pl-r-panel: 1.125rem;
    --pl-r-pill: 999px;

    /* ---- depth */
    --pl-shadow-1: 0 1px 2px rgba(5, 40, 61, 0.04), 0 4px 14px rgba(5, 40, 61, 0.05);
    --pl-shadow-2: 0 2px 6px rgba(5, 40, 61, 0.05), 0 18px 44px rgba(5, 40, 61, 0.09);
    --pl-shadow-3: 0 6px 16px rgba(5, 40, 61, 0.08), 0 34px 80px rgba(5, 40, 61, 0.16);
    --pl-glow: 0 0 0 1px rgba(67, 222, 209, 0.22), 0 0 34px rgba(37, 211, 216, 0.34), 0 30px 80px rgba(1, 14, 22, 0.45);
    --pl-glow-soft: 0 0 0 1px rgba(67, 222, 209, 0.16), 0 0 22px rgba(37, 211, 216, 0.22), 0 20px 50px rgba(1, 14, 22, 0.4);
    --pl-ring: 0 0 0 3px rgba(17, 155, 159, 0.4);
    --pl-ring-navy: 0 0 0 3px rgba(80, 216, 206, 0.6);

    /* ---- motion */
    --pl-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    --pl-t-fast: 140ms;
    --pl-t-base: 220ms;
    --pl-t-reveal: 640ms;

    /* ---- chrome */
    --pl-header-h: 7rem;                                          /* 112, as drawn */
}

@media (max-width: 1099px) {
    :root {
        --pl-header-h: 4.75rem;
    }
}

@media (min-width: 768px) {
    :root {
        --pl-fs-h1: 2.875rem;                                     /* 46: one column, tablets */
    }
}

@media (min-width: 1100px) {
    :root {
        --pl-fs-h1: clamp(2.5rem, 0.478rem + 2.94vw, 3.125rem);   /* 40 → 50: line 1 on one line beside the window */
    }
}

/* Desktop roles are independent of the approved phone/tablet artboard scale. */
@media (min-width: 1024px) {
    :root {
        --pl-fs-h2: clamp(1.875rem, 2.5vw, 2.25rem);
        --pl-fs-h2-lg: 2.375rem;
        --pl-fs-h3: 1.5rem;
        --pl-fs-card: 1.375rem;
        --pl-fs-lead: 1.125rem;
        --pl-fs-body: 1.0625rem;
        --pl-fs-feature: 1rem;
        --pl-fs-meta: .875rem;
        --pl-fs-legal: .875rem;
        --pl-fs-eyebrow: .875rem;
        --pl-fs-button: 1rem;
        --pl-band: 4rem;
        --pl-gutter: clamp(1.5rem, 2.5vw, 2.5rem);
        --pl-w-content: 75rem;
        --pl-header-h: 4.5rem;
    }
}
