/* PageChute Passage v1 — semantic values; see implementation.txt and contrast-report.txt. */
/* Local static fonts for PageChute-owned surfaces. Widget uses system fonts. */
/* marketing/: the four static TTF faces are replaced by the one variable WOFF2 shipped in the brand package (fonts/Manrope-Variable.woff2, weights 200-800). Values below are otherwise unchanged from brand-package/tokens/pagechute.css. */
@font-face { font-family: "Manrope"; src: url("../fonts/Manrope-Variable.woff2") format("woff2"); font-style: normal; font-weight: 200 800; font-display: swap; }
:root {
  color-scheme: light;
  --pc-brand-teal: #176B63;
  --pc-brand-graphite: #1D2927;
  --pc-brand-chalk: #F0F5F2;
  --pc-font-display: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pc-font-body: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pc-font-widget: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pc-font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --pc-weight-regular: 400;
  --pc-weight-medium: 500;
  --pc-weight-semibold: 600;
  --pc-weight-bold: 700;
  --pc-type-display-lg-size: 4rem;
  --pc-type-display-lg-line-height: 1.0625;
  --pc-type-display-lg-weight: 700;
  --pc-type-display-lg-letter-spacing: -0.04em;
  --pc-type-display-size: 3rem;
  --pc-type-display-line-height: 1.125;
  --pc-type-display-weight: 700;
  --pc-type-display-letter-spacing: -0.035em;
  --pc-type-heading-1-size: 2.5rem;
  --pc-type-heading-1-line-height: 1.2;
  --pc-type-heading-1-weight: 700;
  --pc-type-heading-1-letter-spacing: -0.03em;
  --pc-type-heading-2-size: 2rem;
  --pc-type-heading-2-line-height: 1.25;
  --pc-type-heading-2-weight: 700;
  --pc-type-heading-2-letter-spacing: -0.025em;
  --pc-type-heading-3-size: 1.5rem;
  --pc-type-heading-3-line-height: 1.3333;
  --pc-type-heading-3-weight: 600;
  --pc-type-heading-3-letter-spacing: -0.02em;
  --pc-type-lead-size: 1.25rem;
  --pc-type-lead-line-height: 1.5;
  --pc-type-lead-weight: 400;
  --pc-type-lead-letter-spacing: 0;
  --pc-type-body-size: 1rem;
  --pc-type-body-line-height: 1.5;
  --pc-type-body-weight: 400;
  --pc-type-body-letter-spacing: 0;
  --pc-type-ui-size: 0.875rem;
  --pc-type-ui-line-height: 1.4286;
  --pc-type-ui-weight: 500;
  --pc-type-ui-letter-spacing: 0;
  --pc-type-label-size: 0.875rem;
  --pc-type-label-line-height: 1.4286;
  --pc-type-label-weight: 600;
  --pc-type-label-letter-spacing: 0;
  --pc-type-caption-size: 0.75rem;
  --pc-type-caption-line-height: 1.5;
  --pc-type-caption-weight: 500;
  --pc-type-caption-letter-spacing: 0.01em;
  --pc-space-0: 0;
  --pc-space-half: 0.125rem;
  --pc-space-1: 0.25rem;
  --pc-space-2: 0.5rem;
  --pc-space-3: 0.75rem;
  --pc-space-4: 1rem;
  --pc-space-6: 1.5rem;
  --pc-space-8: 2rem;
  --pc-space-12: 3rem;
  --pc-space-16: 4rem;
  --pc-space-24: 6rem;
  --pc-radius-sm: 4px;
  --pc-radius-control: 8px;
  --pc-radius-card: 12px;
  --pc-radius-modal: 16px;
  --pc-radius-pill: 999px;
  --pc-motion-fast: 100ms;
  --pc-motion-base: 160ms;
  --pc-motion-slow: 240ms;
  --pc-motion-ease: cubic-bezier(0.2, 0, 0, 1);
  --pc-motion-reduced: 0ms;
  --pc-target-min: 24px;
  --pc-target-default: 40px;
  --pc-target-touch: 44px;
  --pc-focus-width: 2px;
  --pc-focus-offset: 2px;
}

:root, [data-pc-theme="light"] {
  color-scheme: light;
  --pc-bg: #F0F5F2;
  --pc-surface: #FFFFFF;
  --pc-surface-subtle: #E2ECE7;
  --pc-text: #1D2927;
  --pc-text-muted: #4D625C;
  --pc-border: #CCDAD3;
  --pc-border-control: #73877F;
  --pc-primary: #176B63;
  --pc-primary-hover: #10564F;
  --pc-on-primary: #FFFFFF;
  --pc-focus: #176B63;
  --pc-success-bg: #E5F2EB;
  --pc-success-text: #215E41;
  --pc-success-border: #357754;
  --pc-warning-bg: #FAF0D3;
  --pc-warning-text: #72520E;
  --pc-warning-border: #8D6B20;
  --pc-danger-bg: #FBE9E5;
  --pc-danger-text: #943B2C;
  --pc-danger-border: #B4513E;
  --pc-input-bg: var(--pc-surface);
  --pc-input-text: var(--pc-text);
  --pc-input-placeholder: var(--pc-text-muted);
  --pc-input-border: var(--pc-border-control);
  --pc-link: var(--pc-primary);
  --pc-link-hover: var(--pc-primary-hover);
  --pc-shadow-sm: 0 1px 3px rgba(29, 41, 39, 0.08);
  --pc-shadow-md: 0 8px 24px rgba(29, 41, 39, 0.10);
  --pc-shadow-lg: 0 20px 64px rgba(29, 41, 39, 0.18);
}

[data-pc-theme="dark"] {
  color-scheme: dark;
  --pc-bg: #14231F;
  --pc-surface: #1D2927;
  --pc-surface-subtle: #263B33;
  --pc-text: #F0F5F2;
  --pc-text-muted: #B5CBC2;
  --pc-border: #344B42;
  --pc-border-control: #7D988C;
  --pc-primary: #78CEB8;
  --pc-primary-hover: #96DDCB;
  --pc-on-primary: #14231F;
  --pc-focus: #78CEB8;
  --pc-success-bg: #193B2B;
  --pc-success-text: #9FDEB6;
  --pc-success-border: #6CAC84;
  --pc-warning-bg: #3B311A;
  --pc-warning-text: #E9CD86;
  --pc-warning-border: #B79B52;
  --pc-danger-bg: #442720;
  --pc-danger-text: #F2B3A6;
  --pc-danger-border: #D08A7A;
  --pc-input-bg: var(--pc-surface);
  --pc-input-text: var(--pc-text);
  --pc-input-placeholder: var(--pc-text-muted);
  --pc-input-border: var(--pc-border-control);
  --pc-link: var(--pc-primary);
  --pc-link-hover: var(--pc-primary-hover);
  --pc-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.24);
  --pc-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.28);
  --pc-shadow-lg: 0 20px 64px rgba(0, 0, 0, 0.40);
}

/* Customer widgets start neutral; set validated accent variables with widget-accent.js. */
.pc-widget, .pc-widget[data-pc-theme="light"] {
  --pc-font-body: var(--pc-font-widget);
  --pc-link: var(--pc-text);
  --pc-link-hover: var(--pc-text);
  --pc-primary: #1D2927;
  --pc-primary-hover: #14231F;
  --pc-on-primary: #FFFFFF;
  --pc-focus: #1D2927;
  --pc-mark: #1D2927;
}
.pc-widget[data-pc-theme="dark"], [data-pc-theme="dark"] .pc-widget:not([data-pc-theme="light"]) {
  --pc-primary: #F0F5F2;
  --pc-primary-hover: #FFFFFF;
  --pc-on-primary: #1D2927;
  --pc-focus: #F0F5F2;
  --pc-mark: #FFFFFF;
}

/* Apply .pc-focusable to controls, and preserve native focus in older browsers. */
.pc-focusable:focus-visible {
  outline: var(--pc-focus-width) solid var(--pc-focus);
  outline-offset: var(--pc-focus-offset);
}

@media (prefers-reduced-motion: reduce) {
  :root, [data-pc-theme], .pc-widget {
    --pc-motion-fast: 0ms;
    --pc-motion-base: 0ms;
    --pc-motion-slow: 0ms;
  }
  .pc-animated { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .pc-focusable:focus-visible { outline-color: Highlight; }
  .pc-control { border: 1px solid ButtonText; }
}
