/* CCW design tokens — colours, type scale, spacing, motion.
   Shared across every page on lp.ccwindows.ca. Source of truth: the CCW / TrueCrankless LP design
   (windowscanada.com, sarocreative.com/CCW/LP). Do not put page-specific styles here. */
:root{
/* base — verbatim from the CCW LP :root */
--red:#BB2542;--red-dk:#9E1E38;--ink:#0B0B0B;--paper:#FFFFFF;--smoke:#F4F4F4;--steel:#6A6A6A;--line:#E4E4E4;
/* extended neutrals used throughout the blocks */
--black:#020202;--black-0:#000000;--ink-2:#161616;--ink-3:#1E1E1E;--ink-line:#262626;--ink-line-2:#222222;
--grey-mid:#8A8A8A;--grey-mute:#9A9A9A;--grey-soft:#BDBDBD;--grey-pale:#C9C9C9;--grey-hero:#D6D6D6;--field-line:#CFCFCF;--disabled-red:#E7C3CB;--red-tint:#FDF4F6;--star:#F5B301;
/* semantic */
--surface-page:var(--paper);--surface-alt:var(--smoke);--surface-dark:var(--ink);--surface-hero:var(--black);--surface-card:var(--paper);--surface-card-dark:var(--ink-2);
--text-body:var(--ink);--text-muted:var(--steel);--text-on-dark:#FFFFFF;--text-on-dark-muted:var(--grey-soft);--text-fine-dark:var(--grey-mid);
--accent:var(--red);--accent-hover:var(--red-dk);--border:var(--line);--border-dark:var(--ink-line);--border-strong:var(--ink);--focus:var(--red);
--overlay:rgba(0,0,0,.72);--overlay-video:rgba(0,0,0,.88);
}

:root{
--disp:'Neue Haas Grotesk Display Pro','Neue Haas Grotesk Display','Neue Haas Grotesk','Helvetica Neue',Helvetica,Arial,sans-serif;/* @kind font */
--body:'Archivo',Helvetica,Arial,sans-serif;/* @kind font */
--mono:'SF Mono',Menlo,Consolas,monospace;/* @kind font */
--font-display:var(--disp);/* @kind font */--font-body:var(--body);/* @kind font */--font-mono:var(--mono);/* @kind font */
/* display: weight 600, tight leading, negative tracking */
--disp-weight:600;/* @kind font */--disp-leading:1.02;/* @kind font */--disp-tracking:-.02em;/* @kind font */
--fs-hero:clamp(44px,6.6vw,96px);/* @kind font */--lh-hero:.94;/* @kind font */--ls-hero:-.03em;/* @kind font */
--fs-h2:clamp(34px,4.4vw,64px);/* @kind font */--fs-h2-md:clamp(30px,3.8vw,54px);/* @kind font */--fs-h2-sm:clamp(28px,3.4vw,46px);/* @kind font */
--fs-h3:clamp(30px,3.8vw,54px);/* @kind font */--fs-card-title:23px;/* @kind font */--fs-card-title-sm:22px;/* @kind font */
--fs-platform:clamp(22px,2.4vw,32px);/* @kind font */--fs-mega:clamp(64px,14.5vw,230px);/* @kind font */
/* body: Archivo 18px on all LP copy (Sept 28 rule) */
--fs-body:18px;/* @kind font */--lh-body:1.55;/* @kind font */--fs-lede:18px;/* @kind font */--fs-small:14.5px;/* @kind font */--fs-fine:12px;/* @kind font */--fs-trust:12.5px;/* @kind font */
/* labels */
--fs-kicker:11px;/* @kind font */--ls-kicker:.14em;/* @kind font */--fw-kicker:800;/* @kind font */--fs-btn:14px;/* @kind font */--ls-btn:.04em;/* @kind font */--fw-btn:800;/* @kind font */--fs-mono-tag:10.5px;/* @kind font */--ls-mono:.08em;/* @kind font */
}

:root{
--wrap:1160px;/* @kind spacing */--gutter:24px;/* @kind spacing */--wrap-narrow:820px;/* @kind spacing */
--section-y:96px;/* @kind spacing */--section-y-md:84px;/* @kind spacing */--section-y-mobile:60px;/* @kind spacing */--hero-top:150px;/* @kind spacing */
--gap-cards:14px;/* @kind spacing */--gap-grid:24px;/* @kind spacing */--gap-split:56px;/* @kind spacing */--gap-feature:64px;/* @kind spacing */
--pad-card:26px 24px 24px;/* @kind spacing */--pad-btn:16px 28px;/* @kind spacing */--pad-field:13px 12px;/* @kind spacing */
--radius:0;--radius-round:50%;
--border-w:1px;/* @kind spacing */--border-w-card:1.5px;/* @kind spacing */--border-w-ghost:2px;/* @kind spacing */
}

:root{
--shadow-nav:0 6px 26px rgba(0,0,0,.34);--shadow-hover:0 14px 34px rgba(0,0,0,.08);--shadow-hover-lg:0 18px 40px rgba(0,0,0,.1);
--shadow-form:0 24px 60px rgba(0,0,0,.45);--shadow-modal:0 30px 80px rgba(0,0,0,.5);--shadow-badge:0 6px 18px rgba(0,0,0,.45);
--ease:ease;/* @kind other */--ease-accordion:cubic-bezier(.4,0,.2,1);/* @kind other */--ease-reveal:cubic-bezier(.16,1,.3,1);/* @kind other */
--dur-fast:.15s;/* @kind other */--dur:.2s;/* @kind other */--dur-nav:.28s;/* @kind other */--dur-reveal:.55s;/* @kind other */
--lift:translateY(-3px);/* @kind other */--lift-sm:translateY(-1px);/* @kind other */
--fade-left:linear-gradient(to right,rgba(2,2,2,1) 0,rgba(2,2,2,0) 22%);/* @kind other */
--fade-up:linear-gradient(to top,rgba(0,0,0,.7) 0,rgba(0,0,0,0) 34%);/* @kind other */
--glow-red:radial-gradient(circle,rgba(187,37,66,.28) 0%,rgba(187,37,66,0) 62%);/* @kind other */
}
