/* UK design contract v1.0. Change only with owner approval; no page-local type sizes. */
@font-face { font-family: Switzer; src: url('/assets/Switzer-Variable.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }
:root {
  --font: 'Switzer', Arial, sans-serif;
  --font-display: var(--font);
  --text-display: clamp(46px,4.8vw,72px);
  --text-h1: clamp(34px,4vw,60px);
  --text-h2: clamp(2rem, 3.3vw, 3rem);
  --text-h3: 23px;
  --text-h4: 1.25rem;
  --text-lead: 17px;
  --text-body: 1rem;
  --text-ui: 1rem;
  --text-small: .875rem;
  --text-caption: .8125rem;
  --text-price: 2.25rem;
  /* Decorative brand signature only, matching the AU footer. Not a heading role. */
  --text-wordmark: clamp(3.5rem, 16vw, 18.75rem);
  --weight-display: 450;
  --weight-heading: 450;
  --weight-body: 400;
  --weight-strong: 600;
  --leading-display: 1.06;
  --leading-heading: 1.12;
  --leading-body: 1.6;
  --tracking-display: -.047em;
  --tracking-heading: -.035em;
  --ink: #161616;
  --muted: #5b6068;
  --paper: #ffffff;
  --black: #080808;
  --panel: #ffffff;
  --line: #d9dee5;
  --blue: #2563eb;
  --blue-hover: #1d4ed8;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;
  --gutter: clamp(1.25rem, 4.5vw, 5rem);
  --section: clamp(3.5rem, 7vw, 7rem);
  --container: 88rem;
  --reading: 68ch;
  --header: 5rem;
  --radius: 3px;
  --motion-fast: 160ms;
  --motion-reveal: 500ms;
  --ease: cubic-bezier(.2,.7,.2,1);
  color-scheme: light;
}

/* NZ semantic type roles, approved 19 October 2026. Colour/layout unchanged. */
:root {
  --text-academy-h1: clamp(44px,4.5vw,64px);
  --text-academy-h2: clamp(34px,3.3vw,48px);
  --text-academy-category: 17px;
  --text-academy-card-title: 18px;
  --text-course-price: 32px;
  --text-course-h1: clamp(42px,4.3vw,66px);
  --text-course-h2: clamp(31px,3.3vw,44px);
  --text-course-bundle: clamp(21px,1.8vw,26px);
  --text-about-h1: clamp(36px,4.4vw,64px);
  --text-about-h2: clamp(30px,3.3vw,46px);
  --text-home-h2: clamp(33px,3.4vw,50px);
  --text-partners-h2: 28px;
  --text-services-h2: clamp(30px,3vw,40px);
  --text-action: 14px;
  --text-course-action: 13px;
  --text-home-lead: 18px;
  --text-nz-footer-social: 13px;
  --text-nz-footer-link: 14px;
  --text-nz-footer-label: 11px;
  --text-nz-footer-legal: 12px;
  --text-nz-footer-copyright: 10px;
}
@media(max-width:1190px) { :root { --text-display: clamp(44px,5vw,62px); --text-academy-h1: 52px; --text-home-lead: 16px; } }
@media(max-width:900px) { :root { --text-display: 44px; --text-course-h1: clamp(40px,6vw,56px); } }
@media(max-width:760px) { :root { --text-display: clamp(42px,8vw,60px); --text-home-h2: 36px; --text-partners-h2: 21px; } }
@media(max-width:650px) { :root { --text-course-h1: clamp(37px,10vw,49px); --text-course-h2: 32px; --text-about-h1: 36px; } }
@media(max-width:600px) { :root { --text-academy-h1: 42px; --text-academy-h2: 34px; --text-academy-category: 16px; --text-action: 13px; --text-lead: 16px; } }

/* Shared AU-matched footer roles; approved footer-only refinement, 18 October 2026. */
:root {
  --text-footer-brand: 1.5rem;
  --text-footer-brand-small: 1.375rem;
  --text-footer-contact: .9375rem;
  --text-footer-social: .84375rem;
  --text-footer-link: .90625rem;
  --footer-copy: #425466;
  --footer-muted: #6b7280;
  --footer-line: #e3e8ee;
}

/* NZ Academy palette parity: owner-approved subject colours, 18 October 2026. */
:root {
  --academy-iso-27001: #1E40AF;
  --academy-iso-42001: #00707A;
  --academy-iso-31000: #800020;
  --academy-ai-professional: #2563EB;
  --academy-iso-27701: #4338CA;
  --academy-iso-27005: #0C4A6E;
  --academy-iso-9001: #0F766E;
  --academy-iso-45001: #166534;
  --academy-iso-14001: #4D7C0F;
  --academy-iso-50001: #854D0E;
  --academy-iso-22301: #A21CAF;
  --academy-iso-22361: #9F1239;
  --academy-iso-37301: #3F6212;
  --academy-iso-37001: #78350F;
  --academy-caim: #BE185D;
  --academy-caip: #581C87;
  --academy-cloud-security: #0E7490;
  --academy-soc-2: #047857;
  --academy-linux: #C1440E;
  --academy-incident-response: #B91C1C;
  --academy-ethical-hacking: #1E293B;
  --academy-threat-analysis: #1D4ED8;
  --academy-nist: #A16207;
  --academy-forensics: #0E7490;
}

/* NZ course-card parity: owner-approved component scale, 18 October 2026. */
:root {
  --text-academy-card-tag: .625rem;
  --text-academy-card-label: .6875rem;
  --text-academy-card-action: .75rem;
  --text-academy-card-price: 1.4375rem;
  --academy-card-ink: #242424;
  --academy-card-muted: #5f605a;
  --academy-card-line: #dadbd5;
}

/* Shared AU/NZ/UK header logo scale; owner-approved parity, 18 October 2026. */
:root {
  --text-header-brand: 1.75rem;
  --text-header-brand-tablet: 1.5625rem;
  --text-header-brand-mobile: 1.375rem;
  --header-brand-mark: 36px;
  --header-brand-mark-tablet: 32px;
  --header-brand-mark-mobile: 27px;
  --header-brand-gap: 9px;
  --header-brand-gap-mobile: 7px;
  --header-brand-tracking: -.05em;
}
