/* Generated from styles.css by npm run build. Do not edit. */
/* tokens/fonts.css */
/* Brand webfonts. Poppins stands in for the logo's heavy geometric sans (source font files not supplied). */

/* tokens/colors.css */
:root{
/* ---- Brand core (sampled from C2C11967_Coast2Country_Logo_CMYK.jpg) ---- */
--c2c-blue:#0400d0;
--c2c-mint:#84d9c0; /* 21 Sep 2026: Wayde-supplied swatch, was #63dbbf sampled from the logo */
--c2c-white:#ffffff;

/* ---- Blue ramp ---- */
--blue-900:#02006b;
--blue-800:#030096;
--blue-700:#0400d0;
--blue-600:#241fe0;
--blue-500:#4b47ea;
--blue-200:#c3c1f8;
--blue-100:#e4e3fd;
--blue-050:#f2f2fe;

/* ---- Mint ramp ---- */
--mint-700:#1c8d73;
--mint-600:#2aa98b;
--mint-500:#43c4a4;
--mint-400:#84d9c0;
--mint-300:#8ee6d1;
--mint-200:#b9f0e3;
--mint-100:#ddf8f1;
--mint-050:#f0fcf8;

/* ---- Neutrals (cool, tuned to the blue) ---- */
--ink-900:#0a0f1c;
--ink-800:#151c2e;
--ink-700:#2a3348;
--ink-600:#454f66;
--ink-500:#6a7488;
--ink-400:#97a0b1;
--ink-300:#c3c9d4;
--ink-200:#dfe3ea;
--ink-100:#eef1f5;
--ink-050:#f7f9fb;

/* ---- Semantic status ---- */
--alert-700:#a4131a;
--alert-500:#ec2027; /* matches ABC First Aid red — reserved for urgency, never as a brand fill */
--alert-100:#fde7e8;
--warn-600:#a45c05;
--warn-500:#e08706;
--warn-100:#fdf0dc;
--ok-600:#1c8d73;
--ok-100:#ddf8f1;
--info-600:#0400d0;
--info-100:#e4e3fd;

/* ---- Partner (ABC Licence Training, RTO 3399) ---- */
--abc-red:#ec2027;
--abc-navy:#233c4f;

/* ---- Semantic aliases ---- */
--text-heading:var(--ink-900);
--text-body:var(--ink-700);
--text-muted:var(--ink-500);
--text-inverse:var(--c2c-white);
--text-on-blue:var(--c2c-white);
--text-on-mint:var(--blue-900);
--text-link:var(--blue-700);
--text-link-hover:var(--blue-900);

--surface-page:var(--c2c-white);
--surface-subtle:var(--ink-050);
--surface-card:var(--c2c-white);
--surface-inverse:var(--blue-900);
--surface-brand:var(--blue-700);
--surface-accent:var(--mint-400);
--surface-accent-soft:var(--mint-100);

--border-subtle:var(--ink-200);
--border-strong:var(--ink-300);
--border-brand:var(--blue-700);
--border-focus:var(--mint-500);

--action-primary:var(--blue-700);
--action-primary-hover:var(--blue-800);
--action-primary-active:var(--blue-900);
--action-accent:var(--mint-400);
--action-accent-hover:var(--mint-500);
--action-accent-active:var(--mint-600);
--action-disabled:var(--ink-200);
--action-disabled-text:var(--ink-400);
}

/* tokens/typography.css */
:root{
--font-display:"Poppins","Helvetica Neue",Arial,sans-serif;
--font-body:"Work Sans","Helvetica Neue",Arial,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;

--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;
--weight-black:800;

/* Type scale — 1.25 major-third-ish, capped for a service site */
--size-display-1:64px;
--size-display-2:52px;
--size-h1:40px;
--size-h2:32px;
--size-h3:24px;
--size-h4:20px;
--size-body-lg:18px;
--size-body:16px;
--size-body-sm:14px;
--size-caption:13px;
--size-micro:12px;

--leading-tight:1.05;
--leading-snug:1.2;
--leading-normal:1.5;
--leading-relaxed:1.65;

--tracking-display:-0.02em;
--tracking-normal:0;
--tracking-label:0.06em;
--tracking-eyebrow:0.14em;

/* Semantic roles */
--text-display:var(--weight-black) var(--size-display-1)/var(--leading-tight) var(--font-display);
--text-h1:var(--weight-bold) var(--size-h1)/var(--leading-snug) var(--font-display);
--text-h2:var(--weight-bold) var(--size-h2)/var(--leading-snug) var(--font-display);
--text-h3:var(--weight-semibold) var(--size-h3)/1.3 var(--font-display);
--text-eyebrow:var(--weight-bold) var(--size-caption)/1.2 var(--font-display);
--text-label:var(--weight-semibold) var(--size-body-sm)/1.3 var(--font-body);
--text-prose:var(--weight-regular) var(--size-body)/var(--leading-relaxed) var(--font-body);
--text-code:var(--weight-regular) var(--size-body-sm)/1.5 var(--font-mono);
}

/* tokens/spacing.css */
:root{
/* 4px base step */
--space-0:0px;
--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:20px;
--space-6:24px;
--space-8:32px;
--space-10:40px;
--space-12:48px;
--space-16:64px;
--space-20:80px;
--space-24:96px;
--space-32:128px;

/* Layout */
--container-max:1200px;
--container-narrow:760px;
--gutter-mobile:20px;
--gutter-desktop:40px;
--section-y-mobile:56px;
--section-y-desktop:96px;
--grid-gap:24px;
--stack-gap:16px;
--header-height:80px;
}

/* tokens/radius.css */
:root{
--radius-none:0px;
--radius-sm:4px;
--radius-md:8px;
--radius-lg:12px;
--radius-xl:20px;
--radius-pill:999px;
--radius-circle:50%;

--radius-button:var(--radius-pill);
--radius-input:var(--radius-md);
--radius-card:var(--radius-lg);
--radius-chip:var(--radius-pill);
--radius-media:var(--radius-lg);

--border-width-hairline:1px;
--border-width-regular:2px;
--border-width-heavy:3px;
}

/* tokens/elevation.css */
:root{
--shadow-none:none;
--shadow-xs:0 1px 2px rgba(10,15,28,.06);
--shadow-sm:0 2px 6px rgba(10,15,28,.08);
--shadow-md:0 6px 18px rgba(10,15,28,.10);
--shadow-lg:0 16px 40px rgba(10,15,28,.14);
--shadow-brand:0 10px 28px rgba(4,0,208,.18);
--shadow-inset-hairline:inset 0 0 0 1px var(--ink-200);
--ring-focus:0 0 0 3px rgba(99,219,191,.55);
--overlay-scrim:rgba(2,0,107,.62);
--protection-gradient:linear-gradient(180deg,rgba(2,0,107,0) 0%,rgba(2,0,107,.15) 45%,rgba(2,0,107,.72) 100%); /* @kind color */
}

/* tokens/motion.css */
:root{
--duration-instant:80ms; /* @kind other */
--duration-fast:140ms; /* @kind other */
--duration-base:220ms; /* @kind other */
--duration-slow:360ms; /* @kind other */
--ease-standard:cubic-bezier(.2,.8,.3,1); /* @kind other */
--ease-out:cubic-bezier(0,0,.2,1); /* @kind other */
--ease-in:cubic-bezier(.4,0,1,1); /* @kind other */
--transition-control:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);
}

/* tokens/base.css */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:var(--text-prose);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{margin:0;color:var(--text-heading);font-family:var(--font-display);letter-spacing:var(--tracking-display)}
h1{font:var(--text-h1)}h2{font:var(--text-h2)}h3{font:var(--text-h3)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration-thickness:1px;text-underline-offset:2px;transition:var(--transition-control)}
a:hover{color:var(--text-link-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint-500);outline-offset:2px}
code,kbd{font:var(--text-code)}
img{max-width:100%;height:auto}
::selection{background:var(--mint-200);color:var(--blue-900)}

