/* =========================================================
   APA Media Site Theme
   Structure:
   1) Design Tokens (:root)
   2) Fonts (@font-face)
   3) Reset & Normalise
   4) Base Elements
   5) Utilities
   6) Components
   7) Layout
   8) Media Queries (mobile-first)
   ========================================================= */

/* ===================================
   1) DESIGN TOKENS
   =================================== */
:root {
  /* Colours */
  --base-01: #ffffff; /* base */
  --base-02: #F5FCFD;
  --base-03: #EAF8FB;
  --base-04: #E0F5F9;
  --base-05: #D6F2F7;
  --base-content: #010101;     /* body text on base */
  --base-emphasis: #010101;    /* strong headings on base */
  --base-mute: #29282B;        /* muted text on base */

  --dark-01: #003266;          /* dark surface */
  --dark-focus: #002244;
  --dark-content: var(--base-01);

  --primary: #004A98;
  --primary-focus: #003266;
  --primary-content: var(--base-01);

  --secondary: #39207C;
  --secondary-focus: #261653;
  --secondary-content: var(--base-01);

  --tertiary: #3E52A3;
  --tertiary-focus: #29386E;
  --tertiary-content: var(--base-01);

  --quaternary: #33BFD5;
  --quaternary-focus: #23808F;
  --quaternary-content: var(--base-content);

  --button-emphasis: #E53B54;
  --button-emphasis-focus: #da314a;
  --button-emphasis-content: var(--base-01);

  --border-color: #DADADA;

  --info: #00b6ff;
  --info-content: var(--base-emphasis);
  --success: #00a96e;
  --success-content: var(--base-emphasis);
  --warning: #ffbe00;
  --warning-content: var(--base-emphasis);
  --error: #ff5861;
  --error-content: var(--base-emphasis);

  /* Typography tokens */
  --heading-font: "Sentinel", "Rockwell", "Cambria", "Georgia", "Times New Roman", serif;
  --paragraph-font: 'Whitney', "Arial", "Helvetica", "Tahoma", "Verdana", sans-serif;

  --text-xs: 0.79rem;
  --text-sm: 0.889rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.266rem;
  --text-2xl: 1.424rem;
  --text-3xl: 1.602rem;
  --text-4xl: 1.802rem;
  --text-5xl: 2.027rem;
  --text-6xl: 2.281rem;
  --text-7xl: 2.566rem;

  /* Assets */
  --logo: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/logo-?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r");
  --logo-lockup: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/logo-lockup?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r");
  --i-cadmore-c: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/cadmore-c.svg?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r");

  /* Motion */
  --three: all 0.3s ease-in-out;
  --five: all 0.5s ease-in-out;
}

/* ===================================
   2) FONTS
   =================================== */
/* whitney-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: normal;
  font-weight: 400;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-regular.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-regular.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: italic;
  font-weight: 400;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-italic.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-italic.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: normal;
  font-weight: 500;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-500.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-500.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-500italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: italic;
  font-weight: 500;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-500italic.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-500italic.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: normal;
  font-weight: 600;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-600.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-600.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-600italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: italic;
  font-weight: 600;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-600italic.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-600italic.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: normal;
  font-weight: 700;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-700.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-700.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-700italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: italic;
  font-weight: 700;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-700italic.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-700italic.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-800 - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: normal;
  font-weight: 800;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-800.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-800.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* whitney-800italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Whitney';
  font-style: italic;
  font-weight: 800;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-800italic.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/body-font-800italic.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* sentinel-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Sentinel';
  font-style: normal;
  font-weight: 300;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/heading-300.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/heading-300.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* sentinel-300italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Sentinel';
  font-style: italic;
  font-weight: 300;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/heading-300italic.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/heading-300italic.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}

/* sentinel-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Sentinel';
  font-style: normal;
  font-weight: 600;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/heading-600.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/heading-600.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}
/* sentinel-600italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Sentinel';
  font-style: italic;
  font-weight: 600;
  src: url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/heading-600italic.woff2?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('woff2'),
       url("https://cadmoremediastorage.blob.core.windows.net/d90b4a1b-e5a3-4ac2-a0d4-462faca2b126/ApplicationContent_Unpub/heading-600italic.ttf?sv=2018-03-28&sr=c&sig=knQPleVAml%2FZIob0%2FYVOHqYWIXthXsV6OIRvfS4BAtQ%3D&st=2025-11-08T05%3A48%3A26Z&se=2025-11-08T09%3A53%3A26Z&sp=r") format('truetype');
}

/* ===================================
   3) RESET & NORMALISE
   =================================== */
/* Box sizing rules */
*, *::before, *::after { box-sizing: border-box; }

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin on common block elements */
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; }

/* List reset for ARIA list roles */
ul[role='list'], ol[role='list'] {
  list-style: none;
  list-style-type: none;
}

/* Images and media */
img, picture {
  max-width: 100%;
  display: block;
}

/* Form controls inherit font */
input, button, textarea, select { 
  font: inherit;
  font-family: var(--paragraph-font);
}

/* Textarea sensible default */
textarea:not([rows]) { min-height: 10em; }

/* Anchor targets with offset */
:target { scroll-margin-block: 5ex; }

/* Base list spacing reset */
ul {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
}


/* ===================================
   4) BASE ELEMENTS
   =================================== */
body {
  line-height: 1.3;
  font-family: var(--paragraph-font);
  font-weight: normal;
  color: var(--base-content);
  background-color: var(--base-01);
}

/* Headings and interactive elements tighter line-height */
h1, h2, h3, h4, button, input, label { line-height: 1.5; }

/* Unclassed links use currentColor and better ink skipping */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Global link variants */
a.accent-primary,
a.accent-primary:visited { color: var(--primary); }
a.accent-primary:hover { color: var(--primary-focus); }

/* Paragraph rhythm */
p:not(:last-of-type) { padding-bottom: 1rem; }

/* Thin, subtle scrollbars on desktop browsers */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 3px;
}
/* Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.3) transparent;
}


/* ===================================
   5) UTILITIES
   =================================== */
.full-width { padding: .75rem; }

button, a {
  transition: var(--three);
  cursor: pointer;
}


/* ===================================
   6) COMPONENTS
   =================================== */
.badge {
  background: var(--base-05);
  border: 1px solid var(--base-05);
  color: var(--base-content);
}
.badge:hover {
  background: var(--base-01);
  border-color: var(--base-05);
}


/* ===================================
   7) MEDIA QUERIES (mobile-first)
   =================================== */
@media (min-width: 640px) {
  .full-width { padding: 1.25rem; }
}

@media (min-width: 1024px) {
  .full-width { padding: 2rem 2.5rem; }
}

@media (min-width: 1536px) {
  .full-width { padding: 2rem 0; }
  .full-width .wrapper {
    max-width: 90rem;
    margin: 0 auto;
  }
}