/*
 * BREAKPOINTS: xs 420 | sm 640/641 | md 767/768 | lg 900/901 | xl 1100/1101 | xxl 1439/1440
 *
 * Canonical 6-rail breakpoint scale (see knowledge/outputs/airways-dry-remediation-spec-2026-07-03.md §1a).
 * `max` values are used as `max-width`; the paired `min` (rail+1) is used as `min-width`
 * for the adjacent band. New @media rules MUST use one of these values.
 *
 * md EDGE RULING (Joel, 2026-07-04): mobile ends at max-width:767; tablet/desktop
 * starts at min-width:768. A 768px viewport (iPad portrait) gets the WIDER band.
 * max-width:768 and min-width:769 are forbidden — scripts/check-breakpoints.sh
 * fails CI on either.
 *
 * LEGACY (do not add new): 1645(min)
 * 2026-07-03 migration (boundary-preserving only): 600→640, 760→767, 781→768,
 * 860→900, 1024→1100, 1120→1100, 1180→1100, 1645(max)→1439.
 * 2026-07-04 md unification: the 5 remaining max-width:768 blocks moved to 767
 * (one dead break-strip block deleted); min-width:768 rules were already on
 * the ruled edge. service-template.css min-width:1645 stays flagged, not
 * guessed. scripts/check-breakpoints.sh enforces rails+legacy+edge direction;
 * any brand-new off-rail value fails CI.
 */

/*
 * AutomaticCSS (ACSS) design-token snapshot — OWNED by the theme.
 *
 * The Timber theme references these ACSS :root variables (--primary, --secondary,
 * the spacing/type scale, --radius, grid helpers) ~100 times but consumes NO ACSS
 * utility classes. They were previously provided ONLY by the external AutomaticCSS
 * plugin's automatic.css, so the whole Timber presentation silently depended on
 * that plugin staying active and unchanged. This snapshot captures the exact
 * cascade-winning values (incl. fluid clamp() expressions) so the theme is
 * self-contained and deterministic — automatic.css can change or be removed
 * without breaking it.
 *
 * Values are byte-identical to ACSS while both load, so this is a no-op today.
 * Regenerate via the closure of theme-used ACSS vars (see scripts/audit-theme.mjs
 * and tmp/qa-run/acss-token-closure.json). --container-padding is intentionally
 * omitted: ACSS does not define it at :root (theme uses already fall back).
 */
html {
    font-size: var(--root-font-size, 62.5%) !important;
}

:root {
    --root-font-size: 62.5%;
    --base: #0C253E;
    --base-ultra-dark: #081a2b;
    --black: #000;
    --container-gap: var(--space-xl);
    --content-gap: var(--space-m);
    --content-width: 128rem;
    --grid-1: repeat(1, minmax(0, 1fr));
    --grid-auto-4: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((4 - 1) * var(--grid-gap))) / 4) * 0.7, (100% - (4 - 1) * var(--grid-gap)) / 4)), 1fr));
    --grid-gap: var(--space-l);
    --gutter: clamp(1.6rem, calc(4.5833333333vw + 0.1333333333rem), 6rem);
    --h1: clamp(3.8016rem, calc(3.10786486vw + 2.8070832448rem), 6.7851502656rem);
    --h2: clamp(3.168rem, calc(1.69849vw + 2.6244832rem), 4.7985504rem);
    --h3: clamp(2.64rem, calc(0.785vw + 2.3888rem), 3.3936rem);
    --h4: clamp(2.2rem, calc(0.2083333333vw + 2.1333333333rem), 2.4rem);
    --h5: clamp(1.6rem, calc(0.2083333333vw + 1.5333333333rem), 1.8rem);
    --h6: clamp(1.4rem, calc(0.2083333333vw + 1.3333333333rem), 1.6rem);
    --neutral: #245CCC;
    --primary: #0EA9AF;
    --primary-dark: #0a7276;
    --primary-trans-10: rgba(14, 169, 175, 0.1);
    --primary-trans-20: rgba(14, 169, 175, 0.2);
    --radius: 1rem;
    --radius-circle: 50vw;
    --secondary: #2E74FF;
    --secondary-ultra-dark: #013;
    --space-l: clamp(3.1992rem, calc(1.355vw + 2.7656rem), 4.5rem);
    --space-m: clamp(2.4rem, calc(0.625vw + 2.2rem), 3rem);
    --space-s: clamp(1.8004501125rem, calc(0.2078644661vw + 1.7339334834rem), 2rem);
    --space-xl: clamp(4.2645336rem, calc(2.5890275vw + 3.4360448rem), 6.75rem);
    --space-xs: clamp(1.3506752532rem, calc(-0.0180644999vw + 1.3564558932rem), 1.3333333333rem);
    --tertiary: #F4f8f8;
    --text-xs: clamp(1.3rem, calc(0.1041666667vw + 1.2666666667rem), 1.4rem);
    --text-l: clamp(1.68rem, calc(0.25vw + 1.6rem), 1.92rem);
    --text-m: clamp(1.4rem, calc(0.2083333333vw + 1.3333333333rem), 1.6rem);
    --text-s: clamp(1.4rem, calc(0.2083333333vw + 1.3333333333rem), 1.6rem);
    --text-xl: clamp(2.016rem, calc(0.3vw + 1.92rem), 2.304rem);
    --text-xxl: clamp(2.4192rem, calc(0.36vw + 2.304rem), 2.7648rem);
    --text-line-height: calc(6px + 2ex);
    --text-text-wrap: pretty;
    --white: #fff;
    --body-bg-color: var(--white);
    --body-color: var(--base-ultra-dark);
    --link-color: var(--primary);
    --heading-line-height: 1em;
    --heading-font-weight: 700;
    --heading-letter-spacing: -2px;
    --heading-max-width: 45ch;
    --heading-text-wrap: balance;
    --h1-font-weight: 700;
    --h1-max-width: 100%;
    --h1-color: var(--base-ultra-dark);
    --h2-font-weight: 600;
    --h2-line-height: 1.2em;
    --h2-color: var(--base-ultra-dark);
    --h3-font-weight: 500;
    --h3-letter-spacing: -1px;
    --h3-line-height: 1.1;
    --h3-max-width: 100%;
    --h3-color: var(--base-ultra-dark);
    --h4-font-weight: 500;
    --h4-letter-spacing: -1px;
    --h4-line-height: 1em;
    --h4-max-width: 100%;
    --h4-color: var(--base-ultra-dark);
    --h5-font-weight: 500;
    --h5-line-height: 1.2;
    --h5-max-width: 100%;
    --h5-color: var(--base-ultra-dark);
    --h6-line-height: 1.2;
    --h6-max-width: 45ch;
    --h6-color: var(--base-ultra-dark);
}

:root {
    --ad-color-white: #ffffff;
    --ad-color-black: #000000;
    --ad-color-cream: #f9fbfb;
    --ad-color-mist: #f4f8f8;
    --ad-color-mist-strong: #daf4f5;
    --ad-color-mist-alpha-92: rgba(244, 248, 248, 0.92);
    --ad-color-ice: #ecf8fb;
    --ad-color-soft-blue: #ccecfb;
    --ad-color-peach-wash: #fff0f0;
    --ad-color-pink-note: #ffd6d7;
    --ad-color-testimonial-card: #f3f9fc;
    --ad-color-testimonial-line: #d5e3ff;
    --ad-color-review-gold: #ffbd17;
    --ad-color-arrow-line: #f2f2f2;
    --ad-color-teal: #46c9ce;
    --ad-color-teal-active: #0ea9af;
    --ad-color-teal-deep: #31aab9;
    --ad-color-teal-alpha-03: rgba(70, 201, 206, 0.03);
    --ad-color-teal-alpha-08: rgba(70, 201, 206, 0.08);
    --ad-color-teal-alpha-16: rgba(70, 201, 206, 0.16);
    --ad-color-teal-alpha-26: rgba(70, 201, 206, 0.26);
    --ad-color-blue: #009ee9;
    --ad-color-blue-alpha-16: rgba(0, 158, 233, 0.16);
    --ad-color-link-blue: #007db2;
    --ad-color-bright-blue: #2e74ff;
    --ad-color-blue-mid: #005076;
    --ad-color-blue-deep: #0c253e;
    --ad-color-periwinkle: #6570f6;
    --ad-color-blue-deep-alpha-04: rgba(12, 37, 62, 0.04);
    --ad-color-blue-deep-alpha-05: rgba(12, 37, 62, 0.05);
    --ad-color-blue-deep-alpha-06: rgba(12, 37, 62, 0.06);
    --ad-color-blue-deep-alpha-08: rgba(12, 37, 62, 0.08);
    --ad-color-blue-deep-alpha-20: rgba(12, 37, 62, 0.2);
    --ad-color-blue-deep-alpha-25: rgba(12, 37, 62, 0.25);
    --ad-color-alert-red: #ff4447;
    --ad-color-copy: #17324d;
    --ad-color-body: #000000;
    --ad-color-muted: #4c4c4c;
    --ad-color-gray-500: #7f7f7f;
    --ad-color-cool-divider: #dce6eb;
    --ad-color-copy-soft: rgba(12, 37, 62, 0.78);
    --ad-color-copy-softer: rgba(12, 37, 62, 0.76);
    --ad-color-copy-light: rgba(255, 255, 255, 0.9);
    --ad-color-line: rgba(70, 201, 206, 0.22);
    --ad-color-line-soft: rgba(70, 201, 206, 0.18);
    --ad-color-line-faint: rgba(70, 201, 206, 0.12);
    --ad-color-teal-tint: rgba(70, 201, 206, 0.04);
    --ad-color-teal-wash: rgba(70, 201, 206, 0.2);
    --ad-color-teal-hover: rgba(70, 201, 206, 0.08);
    --ad-color-blue-wash: rgba(0, 158, 233, 0.2);
    --ad-gradient-teal-blue-wash: linear-gradient(180deg, var(--ad-color-teal-wash) 0%, var(--ad-color-blue-wash) 100%);
    --ad-color-map-surface: #f5f9f9;
    --ad-color-white-wash: rgba(255, 255, 255, 0.04);
    --ad-color-white-alpha-00: rgba(255, 255, 255, 0);
    --ad-color-white-alpha-24: rgba(255, 255, 255, 0.24);
    --ad-color-white-alpha-80: rgba(255, 255, 255, 0.8);
    --ad-color-white-alpha-90: rgba(255, 255, 255, 0.9);
    --ad-color-white-alpha-96: rgba(255, 255, 255, 0.96);
    --ad-color-white-alpha-98: rgba(255, 255, 255, 0.98);
    --ad-color-white-line: rgba(255, 255, 255, 0.1);
    --ad-color-white-line-strong: rgba(255, 255, 255, 0.5);
    --ad-color-black-alpha-06: rgba(0, 0, 0, 0.06);
    --ad-color-black-alpha-12: rgba(0, 0, 0, 0.12);
    --ad-font-primary: "Figtree", Arial, sans-serif;
    --ad-font-weight-regular: 400;
    --ad-font-weight-medium: 500;
    --ad-font-weight-semibold: 600;
    --ad-font-weight-bold: 700;
    --ad-type-size-xs: 13px;
    --ad-type-size-sm: 14px;
    --ad-type-size-md: 16px;
    --ad-type-size-lg: 18px;
    --ad-type-size-xl: 20px;
    --ad-type-size-2xl: 24px;
    --ad-type-size-3xl: 28px;
    --ad-type-size-4xl: 32px;
    --ad-type-size-5xl: 40px;
    --ad-type-size-6xl: 56px;
    --ad-line-height-tight: 1.1;
    --ad-line-height-heading: 1.2;
    --ad-line-height-body: 1.5;
    --ad-radius-sm: 4px;
    --ad-radius-md: 8px;
    --ad-radius-lg: 8px;
    --ad-radius-xl: 14px;
    --ad-radius-2xl: 16px;
    --ad-radius-pill: 999px;
    --ad-shell-wide: min(1312px, calc(100% - 128px));
    --ad-shell-standard: min(1280px, calc(100% - 128px));
    --ad-shell-narrow: min(800px, calc(100% - 128px));
    --ad-shell-reading: min(1024px, calc(100% - 128px));
    --ad-shell-locations: min(1216px, calc(100% - 224px));
    --ad-shadow-card: 0 20px 48px rgba(12, 37, 62, 0.08);
    --ad-shadow-card-soft: 0 8px 32px var(--ad-color-blue-deep-alpha-05);
    --ad-shadow-card-subtle: 0 2px 8px var(--ad-color-blue-deep-alpha-04);
    --ad-shadow-card-hover: 0 16px 32px var(--ad-color-blue-deep-alpha-08);
    --ad-shadow-map-marker: 0 2px 6px var(--ad-color-blue-deep-alpha-25);
    --ad-shadow-map-marker-active: 0 0 0 4px var(--ad-color-blue-wash), 0 2px 8px var(--ad-color-blue-deep-alpha-20);
    --ad-shadow-elevated-dark: 0 12px 32px var(--ad-color-black-alpha-12);
    --ad-shadow-mobile-media: 0 2px 8px var(--ad-color-black-alpha-06), 0 8px 32px var(--ad-color-black-alpha-12);

    --ad-text-strong: var(--ad-color-blue-deep);
    --ad-text-heading: var(--ad-color-blue-deep);
    --ad-text-body: var(--ad-color-body);
    --ad-text-copy: var(--ad-color-copy);
    --ad-text-muted: var(--ad-color-muted);
    --ad-text-soft: var(--ad-color-copy-soft);
    --ad-text-softer: var(--ad-color-copy-softer);
    --ad-text-index-muted: var(--ad-color-gray-500);
    --ad-text-on-dark: var(--ad-color-white);
    --ad-text-on-dark-muted: var(--ad-color-copy-light);
    --ad-text-on-dark-soft: var(--ad-color-white-alpha-80);
    --ad-text-on-dark-mist: var(--ad-color-mist-alpha-92);

    --ad-surface-page: var(--ad-color-white);
    --ad-surface-subtle: var(--ad-color-mist);
    --ad-surface-subtle-strong: var(--ad-color-mist-strong);
    --ad-surface-ice: var(--ad-color-ice);
    --ad-surface-soft-blue: var(--ad-color-soft-blue);
    --ad-surface-navy: var(--ad-color-blue-deep);
    --ad-surface-map: var(--ad-color-map-surface);
    --ad-surface-glass-dark: var(--ad-color-white-wash);
    --ad-surface-glass-light: var(--ad-color-white-alpha-90);

    --ad-border-subtle: var(--ad-color-line);
    --ad-border-soft: var(--ad-color-line-soft);
    --ad-border-faint: var(--ad-color-line-faint);
    --ad-border-card: var(--ad-color-blue-deep-alpha-08);
    --ad-border-card-soft: var(--ad-color-blue-deep-alpha-06);
    --ad-border-on-dark: var(--ad-color-white-line);
    --ad-border-on-dark-strong: var(--ad-color-white-line-strong);

    --ad-action-primary-bg: var(--ad-color-blue);
    --ad-action-primary-bg-hover: var(--ad-color-blue-mid);
    --ad-action-primary-text: var(--ad-color-white);
    --ad-action-secondary-bg: var(--ad-color-white);
    --ad-action-secondary-border: var(--ad-color-blue);
    --ad-action-secondary-text: var(--ad-color-blue);
    --ad-action-teal-bg: var(--ad-color-teal);
    --ad-action-teal-bg-hover: var(--ad-color-teal-deep);
    --ad-action-teal-text: var(--ad-color-white);

    --ad-focus-ring-color: var(--ad-color-teal);
    --ad-focus-ring-width: 2px;
    --ad-focus-ring-offset: 2px;

    --ad-gradient-teal-fade: linear-gradient(180deg, var(--ad-color-teal-alpha-08) 0%, var(--ad-color-white-alpha-00) 100%);
    --ad-gradient-teal-card-highlight: linear-gradient(180deg, var(--ad-color-teal-alpha-08) 0%, var(--ad-color-white-alpha-98) 100%);
    --ad-gradient-teal-card-strong: linear-gradient(180deg, var(--ad-color-teal-alpha-16) 0%, var(--ad-color-white-alpha-96) 100%);
    --ad-gradient-map-expanded: linear-gradient(135deg, var(--ad-color-teal-alpha-08) 0%, var(--ad-color-teal-alpha-03) 100%);
    --ad-gradient-related-placeholder: linear-gradient(135deg, var(--ad-color-teal-alpha-26), var(--ad-color-blue-alpha-16));

    --ad-button-radius: var(--ad-radius-sm);
    --ad-button-border-width: 1px;
    --ad-button-font-size: var(--ad-type-size-md);
    --ad-button-font-weight: var(--ad-font-weight-semibold);
    --ad-button-letter-spacing: 0.5px;
    /* Global defaults for the shared button base. Individual button families
       may still shadow --ad-button-min-height / --ad-button-padding in their
       own scope for desktop; these are the fallbacks + the canonical values. */
    --ad-button-min-height: 48px;
    --ad-button-padding: 13px 24px;
    /* Uniform mobile spec (<=640px) — one tappable size for every button. */
    --ad-button-min-height-mobile: 48px;
    --ad-button-padding-mobile: 13px 22px;
    --ad-button-font-size-mobile: 16px;
    --ad-button-max-width-mobile: 420px;
    --ad-button-line-height: 1.2;
    --ad-button-transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
    --ad-button-primary-bg: var(--ad-action-primary-bg);
    --ad-button-primary-bg-hover: var(--ad-action-primary-bg-hover);
    --ad-button-primary-border: var(--ad-action-primary-bg);
    --ad-button-primary-text: var(--ad-action-primary-text);
    --ad-button-secondary-bg: var(--ad-action-secondary-bg);
    --ad-button-secondary-border: var(--ad-action-secondary-border);
    --ad-button-secondary-text: var(--ad-action-secondary-text);
    --ad-button-ghost-dark-bg: var(--ad-surface-glass-dark);
    --ad-button-ghost-dark-border: var(--ad-border-on-dark);
    --ad-button-ghost-dark-text: var(--ad-text-on-dark);
    --ad-button-ghost-light-bg: var(--ad-surface-glass-dark);
    --ad-button-ghost-light-border: var(--ad-border-on-dark-strong);
    --ad-button-ghost-light-text: var(--ad-text-on-dark);

    --ad-card-bg: var(--ad-surface-page);
    --ad-card-bg-subtle: var(--ad-surface-subtle);
    --ad-card-border: var(--ad-border-card);
    --ad-card-border-soft: var(--ad-border-card-soft);
    --ad-card-radius: var(--ad-radius-md);
    --ad-card-radius-large: var(--ad-radius-2xl);
    --ad-card-shadow: var(--ad-shadow-card);
    --ad-card-shadow-soft: var(--ad-shadow-card-soft);
    --ad-card-shadow-subtle: var(--ad-shadow-card-subtle);
    --ad-card-shadow-hover: var(--ad-shadow-card-hover);

    --ad-map-marker-bg: var(--ad-color-white);
    --ad-map-marker-label-bg: var(--ad-color-white-alpha-90);
    --ad-map-marker-shadow: var(--ad-shadow-map-marker);
    --ad-map-marker-active-shadow: var(--ad-shadow-map-marker-active);
    --ad-map-expanded-bg: var(--ad-gradient-map-expanded);

    --ad-cta-bg: var(--ad-surface-navy);
    --ad-cta-text: var(--ad-text-on-dark);
    --ad-cta-text-muted: var(--ad-text-on-dark-muted);
    --ad-cta-border: var(--ad-border-on-dark);
    --ad-cta-glass-bg: var(--ad-surface-glass-dark);

    --ad-service-card-bg: var(--ad-card-bg);
    --ad-service-card-border: var(--ad-card-border);
    --ad-service-card-radius: var(--ad-card-radius);
    --ad-service-card-shadow: var(--ad-card-shadow-subtle);
    --ad-service-card-highlight-bg: var(--ad-gradient-teal-card-highlight);

    --ad-doctor-card-bg: var(--ad-surface-page);
    --ad-doctor-card-border: var(--ad-border-subtle);
    --ad-doctor-card-radius: var(--ad-radius-md);
    --ad-doctor-card-name: var(--ad-text-heading);
    --ad-doctor-card-role: var(--ad-color-teal);
    --ad-doctor-card-copy: var(--ad-text-soft);

    --ad-location-card-bg: var(--ad-card-bg);
    --ad-location-card-border: var(--ad-card-border);
    --ad-location-card-radius: var(--ad-radius-md);
    --ad-location-card-shadow-hover: var(--ad-card-shadow-hover);

    --ad-service-white: var(--ad-color-white);
    --ad-service-cream: var(--ad-color-cream);
    --ad-service-mist: var(--ad-color-mist);
    --ad-service-mist-strong: var(--ad-color-mist-strong);
    --ad-service-ice: var(--ad-color-ice);
    --ad-service-teal: var(--ad-color-teal);
    --ad-service-teal-deep: var(--ad-color-teal-deep);
    --ad-service-blue: var(--ad-color-blue);
    --ad-service-blue-mid: var(--ad-color-blue-mid);
    --ad-service-blue-deep: var(--ad-color-blue-deep);
    --ad-service-copy: var(--ad-color-copy);
    --ad-service-copy-soft: var(--ad-color-copy-soft);
    --ad-service-copy-light: var(--ad-color-copy-light);
    --ad-service-line: var(--ad-color-line);
    --ad-service-blue-wash: var(--ad-color-blue-wash);
    --ad-service-gradient-teal-blue-wash: var(--ad-gradient-teal-blue-wash);
    --ad-service-radius-sm: var(--ad-radius-sm);
    --ad-service-radius-md: var(--ad-radius-md);
    --ad-service-radius-lg: var(--ad-radius-lg);
    --ad-service-shadow: var(--ad-shadow-card);
    --ad-service-shell: var(--ad-shell-wide);
    --ad-service-shell-narrow: var(--ad-shell-narrow);
    --ad-service-shell-reading: var(--ad-shell-reading);
    --ad-service-shell-locations: var(--ad-shell-locations);
}
