/* CTMES Premium Homepage — styles.css */
:root {
  --color-yellow: #f5b800;
  --color-charcoal: #2b2d30;
  --color-graphite: #4a4d52;
  --color-paper: #f9f8f6;
  --color-orange: #d95c14;
  --color-white: #ffffff;
  --color-text: #2b2d30;
  --color-text-light: #f9f8f6;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --font-mono-label: clamp(1rem, 0.34vw + 0.92rem, 1.2rem);
  --font-mono-index: clamp(1rem, 0.22vw + 0.95rem, 1.1rem);
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --radius-sm: 4px;
  --radius-md: 8px;
  --transition-fast: 0.2s ease;
  --transition-slow: 0.4s ease;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  color: var(--color-text);
  background-color: var(--color-paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

:focus-visible {
  outline: 3px solid var(--color-orange);
  outline-offset: 2px;
}

.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-charcoal);
  color: var(--color-white);
  padding: var(--space-xs) var(--space-sm);
  z-index: 1000;
  transform: translateY(calc(-100% - 4px));
  transition: none;
}

.skip-link:focus {
  transform: translateY(0);
  transition: none;
}

.site-header {
  background-color: var(--color-white);
  border-bottom: 1px solid rgba(0,0,0,0.08);
  position: sticky;
  top: 0;
  z-index: 100;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-sm) var(--space-md);
  max-width: 1440px;
  margin: 0 auto;
}

.logo img {
  height: 40px;
  width: auto;
}

.nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--space-xs);
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

.nav-toggle svg {
  width: 24px;
  height: 24px;
  stroke: var(--color-charcoal);
  stroke-width: 2;
  fill: none;
}

.primary-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: var(--space-md);
}

.primary-nav a {
  font-weight: 500;
  font-size: 0.95rem;
  padding: var(--space-xs);
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
}

.primary-nav a:hover {
  color: var(--color-orange);
}

.hero {
  background: linear-gradient(135deg, var(--color-charcoal) 0%, var(--color-graphite) 100%);
  color: var(--color-text-light);
  padding: var(--space-xl) var(--space-md);
  position: relative;
  overflow: hidden;
}

.hero-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
}

.hero-content h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.1;
  margin: 0 0 var(--space-md);
  font-weight: 700;
}

.hero-content p {
  font-size: 1.125rem;
  margin: 0 0 var(--space-lg);
  opacity: 0.9;
}

.hero-ctas {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
}

.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  font-size: 1rem;
  border-radius: var(--radius-sm);
  min-height: 44px;
  transition: background-color var(--transition-fast), transform var(--transition-fast);
}

.btn-primary {
  background-color: var(--color-yellow);
  color: var(--color-charcoal);
}

.btn-primary:hover {
  background-color: #e0a800;
}

.btn-secondary {
  background-color: transparent;
  color: var(--color-white);
  border: 2px solid var(--color-white);
}

.btn-secondary:hover {
  background-color: rgba(255,255,255,0.1);
}

.hero-media {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

.hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.proof-strip {
  background-color: var(--color-white);
  padding: var(--space-md) var(--space-md);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.proof-strip-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.proof-item {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  font-weight: 500;
  font-size: 0.95rem;
}

.proof-item svg {
  width: 20px;
  height: 20px;
  stroke: var(--color-orange);
  stroke-width: 2;
  fill: none;
}

.section {
  padding: var(--space-xl) var(--space-md);
}

.section-inner {
  max-width: 1440px;
  margin: 0 auto;
}

.section-title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  margin: 0 0 var(--space-md);
  font-weight: 700;
}

.pathways {
  background-color: var(--color-paper);
}

.pathways-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

.pathway-card {
  background: var(--color-white);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid rgba(0,0,0,0.08);
}

.pathway-card h3 {
  margin: 0 0 var(--space-xs);
  font-size: 1.25rem;
}

.pathway-card p {
  margin: 0;
  color: var(--color-graphite);
}

.capability {
  background-color: var(--color-white);
}

.capability-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
}

.capability-image img {
  border-radius: var(--radius-md);
  width: 100%;
}

.process {
  background-color: var(--color-charcoal);
  color: var(--color-text-light);
}

.process-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

.process-step {
  text-align: center;
}

.process-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background-color: var(--color-yellow);
  color: var(--color-charcoal);
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: var(--space-sm);
}

.human-trust {
  background-color: var(--color-paper);
}

.human-trust-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
}

.human-trust-image img {
  border-radius: var(--radius-md);
  width: 100%;
}

.final-cta {
  background-color: var(--color-orange);
  color: var(--color-white);
  text-align: center;
}

.final-cta h2 {
  color: var(--color-white);
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin: 0 0 var(--space-md);
}

.site-footer {
  background-color: var(--color-charcoal);
  color: var(--color-text-light);
  padding: var(--space-lg) var(--space-md) var(--space-md);
}

.footer-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.footer-col h4 {
  margin: 0 0 var(--space-sm);
  font-size: 1rem;
  color: var(--color-yellow);
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col li {
  margin-bottom: var(--space-xs);
}

.footer-col a {
  opacity: 0.8;
  transition: opacity var(--transition-fast);
}

.footer-col a:hover {
  opacity: 1;
}

.footer-bottom {
  max-width: 1440px;
  margin: var(--space-lg) auto 0;
  padding-top: var(--space-md);
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  opacity: 0.7;
}

@media (max-width: 1023px) {
  .nav-toggle {
    display: flex;
  }

  .primary-nav {
    position: static;
    background: none;
    border: 0;
    box-shadow: none;
    transform: none;
    opacity: 1;
    visibility: visible;
  }

  .primary-nav .nav-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: linear-gradient(145deg, #ffd500, #f6a009);
    border-bottom: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transform: translateY(-10px);
    opacity: 0;
    visibility: hidden;
    transition: transform var(--transition-fast), opacity var(--transition-fast), visibility var(--transition-fast);
  }

  .primary-nav.is-open .nav-list {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    transition: none;
  }

  .primary-nav ul {
    flex-direction: column;
    padding: var(--space-sm);
    gap: 0;
  }

  .primary-nav a {
    padding: var(--space-sm);
    display: block;
    min-height: 44px;
    line-height: 1.5;
  }

  .hero-inner {
    grid-template-columns: 1fr;
  }

  .hero-media {
    order: -1;
  }

  .proof-strip-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .pathways-grid,
  .process-steps {
    grid-template-columns: 1fr;
  }

  .capability-grid,
  .human-trust-inner {
    grid-template-columns: 1fr;
  }

  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    gap: var(--space-xs);
    text-align: center;
  }
}

/* Parent integration layer: reconciles compiled HTML/CSS contracts. */
.header-container,
.container { width: min(100% - 3rem, 1240px); margin-inline: auto; }
.header-container { min-height: 96px; padding-block: 10px; display: flex; align-items: center; justify-content: space-between; gap: 2.25rem; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand-logo { width: 214px; height: auto; }
.hero { min-height: min(760px, calc(100svh - 96px)); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); align-items: stretch; padding: 0; }
.hero-media { border-radius: 0; box-shadow: none; min-height: 620px; }
.hero-video { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.05); }
.hero-content { align-self: center; padding: clamp(3rem, 7vw, 7.5rem); max-width: 760px; }
.hero-content::before { content: "CUTTING TOOLS · METROLOGY · TECHNICAL SALES"; display: block; color: var(--color-yellow); font: 700 var(--font-mono-label)/1.45 var(--font-mono); letter-spacing: .105em; margin-bottom: 1.35rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.proof-ribbon { background: var(--color-yellow); padding: 1.15rem 0; }
.ribbon-container { width: min(100% - 3rem, 1240px); margin-inline: auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; }
.ribbon-item { display: grid; gap: .15rem; }
.ribbon-value { font-weight: 800; font-size: 1.05rem; }
.ribbon-label { font-size: .78rem; line-height: 1.35; }
.task-pathways,.product-capability,.technical-sales,.categories,.human-trust,.final-cta { padding: clamp(4.5rem,8vw,8rem) 0; }
.task-pathways h2,.product-capability h2,.technical-sales h2,.categories h2,.human-trust h2,.final-cta h2 { font-size: clamp(2rem,4vw,3.6rem); line-height: 1.02; letter-spacing: -.035em; }
.categories-grid,.sales-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.category-item,.step { border-top: 2px solid var(--color-yellow); padding: 1.5rem; background: white; }
.step-number { display: block; color: var(--color-orange); font: 700 var(--font-mono-index)/1.35 var(--font-mono); margin-bottom: 1.4rem; }
.product-capability { background: white; }
.capability-img,.trust-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.capability-img-small { width: min(260px,50%); margin-top: 1.5rem; aspect-ratio: 1; object-fit: cover; }
.trust-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem,6vw,6rem); }
.human-trust { background: #eceae5; }
.trust-contact a { font-weight: 700; text-decoration: underline; text-underline-offset: .25em; }
.final-cta { background: var(--color-charcoal); color: white; text-align: center; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; }
.footer-logo { width: 180px; filter: brightness(0) invert(1); }
.footer-list { list-style: none; padding: 0; }
.section-kicker { color: var(--color-orange); font: 700 var(--font-mono-label)/1.45 var(--font-mono); letter-spacing: .095em; text-transform: uppercase; }
.section-intro { max-width: 66ch; font-size: 1.08rem; margin-bottom: 2.5rem; }
.commercial-story { padding: clamp(4.5rem,8vw,8rem) 0; background: #e7e4dd; }
.commercial-story h2 { max-width: 820px; font-size: clamp(2.2rem,4.8vw,4.5rem); line-height: .98; letter-spacing: -.045em; }
.commercial-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; margin-top: 3.25rem; }
.commercial-card { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 360px; background: white; overflow: hidden; border-top: 3px solid var(--color-charcoal); }
.commercial-card img { width: 100%; height: 100%; object-fit: cover; }
.commercial-card-copy { padding: clamp(1.5rem,3.5vw,3rem); display: flex; flex-direction: column; align-items: flex-start; }
.card-index,.category-number { color: var(--color-orange); font: 700 var(--font-mono-index)/1.45 var(--font-mono); letter-spacing: .075em; text-transform: uppercase; }
.commercial-card h3 { font-size: clamp(1.35rem,2.2vw,2rem); line-height: 1.08; margin: 1rem 0; }
.commercial-card-copy p { margin: 0 0 1.5rem; }
.commercial-card-copy a { margin-top: auto; font-weight: 800; text-decoration: underline; text-decoration-color: var(--color-yellow); text-decoration-thickness: 3px; text-underline-offset: .3em; }
.commercial-card-featured { border-top-color: var(--color-yellow); }
.commercial-card-accent { background: var(--color-charcoal); color: white; border-top-color: var(--color-orange); }
.categories-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.category-number { display: block; margin-bottom: 2rem; }

/* Accepted CTMES header direction: warm yellow-to-orange brand band. */
.site-header {
  background: linear-gradient(105deg, #ffd500 0%, #ffb000 58%, #f59a08 100%);
  border-bottom-color: rgba(43,45,48,.18);
}
.primary-nav a { color: var(--color-charcoal); font-weight: 700; }
.primary-nav a:hover { color: #111; background: rgba(255,255,255,.2); }
.nav-toggle { color: var(--color-charcoal); }

@media (max-width: 1023px) {
  .header-container,.container,.ribbon-container { width: min(100% - 2rem,1240px); }
  .header-container { min-height: 88px; padding-block: 8px; }
  .brand-logo { width: 180px; }
  .primary-nav .nav-list { background: linear-gradient(145deg, #ffd500, #f6a009); }
  .hero { min-height: 0; grid-template-columns: 1fr; }
  .hero-media { min-height: 235px; }
  .hero-content { padding: 2.5rem 1rem 3rem; }
  .hero-content h1 { font-size: clamp(2.1rem,11vw,3.2rem); }
  .hero-actions .btn { width: 100%; text-align: center; }
  .ribbon-container { grid-template-columns: 1fr 1fr; }
  .categories-grid,.sales-steps,.trust-grid,.footer-grid { grid-template-columns: 1fr; }
  .commercial-grid { grid-template-columns: 1fr; }
  .commercial-card { grid-template-columns: 1fr; }
  .commercial-card img { height: 230px; }
  .task-pathways,.product-capability,.commercial-story,.technical-sales,.categories,.human-trust,.final-cta { padding: 4.25rem 0; }
}

/* Shared premium subpage and footer system. */
.page-hero { background: var(--color-charcoal); color: white; }
.page-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.78fr); min-height: 590px; }
.page-hero-copy { align-self: center; padding: clamp(3rem,7vw,7rem); max-width: 820px; }
.page-eyebrow { color: var(--color-yellow); font: 700 var(--font-mono-label)/1.45 var(--font-mono); letter-spacing: .105em; text-transform: uppercase; }
.page-hero h1 { font-size: clamp(3.4rem,7.5vw,7.4rem); line-height: .9; letter-spacing: -.065em; margin: 1rem 0 1.5rem; }
.page-hero-copy > p:not(.page-eyebrow) { max-width: 58ch; font-size: clamp(1rem,1.5vw,1.25rem); color: rgba(255,255,255,.82); }
.page-hero-media { min-height: 500px; overflow: hidden; position: relative; }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.06); }
.page-hero-media::after { content:""; position:absolute; inset:0; box-shadow:inset 28px 0 60px rgba(43,45,48,.28); pointer-events:none; }
.training-hero .page-hero-grid { grid-template-columns:1fr; min-height:0; }
.training-hero .page-hero-copy { width:min(100% - 3rem,1240px); max-width:1240px; margin-inline:auto; padding:clamp(2.25rem,4vw,3.75rem) 0 clamp(2rem,4vw,3rem); }
.training-hero h1 { font-size:clamp(3rem,6vw,6rem); }
.training-hero .page-hero-copy > p:not(.page-eyebrow) { max-width:65ch; }
.training-hero .page-hero-media { min-height:0; aspect-ratio:10/3; order:initial; }
.training-hero .page-hero-media img { object-position:center; }
.training-hero .page-hero-media::after { box-shadow:inset 0 22px 50px rgba(43,45,48,.2); }
.promotions-hero .page-hero-media::after { z-index:1; }
.promotions-hero .page-hero-media::before { content:"CURRENT TOOLING OFFERS"; position:absolute; left:clamp(1rem,3vw,2.5rem); bottom:clamp(1rem,3vw,2.5rem); z-index:2; padding:.75rem 1rem; background:var(--color-yellow); color:var(--color-charcoal); font:800 var(--font-mono-label)/1.25 var(--font-mono); letter-spacing:.08em; }
.page-intro,.page-section,.page-cta { padding: clamp(4.5rem,8vw,8rem) 0; }
.page-intro { background: var(--color-yellow); }
.page-intro-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:clamp(2rem,7vw,7rem); align-items:start; }
.page-intro h2,.page-section h2,.page-cta h2 { font-size:clamp(2.2rem,4.8vw,4.5rem); line-height:.98; letter-spacing:-.045em; margin-top:0; }
.page-intro p { font-size:clamp(1.1rem,1.8vw,1.45rem); max-width:58ch; }
.metric-note { border-top:2px solid var(--color-charcoal); padding-top:1rem; font:700 var(--font-mono-label)/1.55 var(--font-mono); }
.training-hero-action { margin-top:1.35rem; }
.training-hero-action .btn { display:inline-flex; visibility:visible; position:relative; z-index:1; }
.editorial-grid,.resource-grid,.catalogue-grid,.brand-grid,.topic-grid,.contact-detail-grid { display:grid; gap:1.25rem; }
.editorial-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.resource-grid,.catalogue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.topic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.editorial-card,.resource-card,.catalogue-card,.brand-panel,.topic-chip,.status-panel { background:white; border-top:3px solid var(--color-yellow); }
.editorial-card,.resource-card,.catalogue-card,.brand-panel,.status-panel { padding:clamp(1.4rem,3vw,2.4rem); }
.editorial-card img,.resource-card img,.catalogue-card img,.brand-panel img { width:100%; aspect-ratio:4/3; object-fit:cover; margin-bottom:1.4rem; }
.brand-panel > img:first-child { height:76px; aspect-ratio:auto; object-fit:contain; object-position:left center; background:#f5f3ee; padding:.7rem; }
.card-meta { color:var(--color-orange); font:700 var(--font-mono-index)/1.45 var(--font-mono); letter-spacing:.075em; text-transform:uppercase; }
.editorial-card h3,.resource-card h3,.catalogue-card h3,.brand-panel h3 { font-size:clamp(1.25rem,2vw,1.8rem); line-height:1.08; }
.editorial-card a,.resource-card a,.catalogue-card a,.brand-panel a { font-weight:800; text-decoration:underline; text-decoration-color:var(--color-yellow); text-decoration-thickness:3px; text-underline-offset:.28em; }
.page-section.alt { background:#e7e4dd; }
.page-section.dark { background:var(--color-charcoal); color:white; }
.topic-chip { padding:1.35rem; font-weight:800; font-size:1.05rem; }
.image-band { display:grid; grid-template-columns:repeat(4,1fr); min-height:260px; }
.image-band img { width:100%; height:100%; object-fit:cover; }
.status-panel { max-width:850px; border-color:var(--color-orange); }
.status-panel strong { display:block; font-size:clamp(1.4rem,3vw,2.2rem); margin-bottom:.7rem; }
.page-cta { background:var(--color-charcoal); color:white; }
.page-cta .container { display:flex; justify-content:space-between; gap:2rem; align-items:end; }
.page-cta h2 { max-width:780px; margin-bottom:0; }
.contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,6rem); }
.contact-detail-grid { grid-template-columns:repeat(2,1fr); }
.contact-detail { border-top:2px solid var(--color-yellow); padding:1.3rem 0; }
.concept-form { background:white; padding:clamp(1.5rem,4vw,3rem); border-top:4px solid var(--color-yellow); }
.concept-form label { display:block; font-weight:700; margin-bottom:.35rem; }
.concept-form input,.concept-form textarea { width:100%; padding:.9rem; border:1px solid #aaa; font:inherit; margin-bottom:1rem; }
.concept-form textarea { min-height:150px; resize:vertical; }
.form-notice { color:#8a3e0c; font-weight:800; }
.premium-footer { background:#17191b; color:#f8f6f1; padding-top:0; }
.footer-rule { height:5px; background:linear-gradient(90deg,#ffd500,#ffb000,#f59a08); }
.premium-footer-grid { display:grid; grid-template-columns:1.45fr .8fr .9fr 1.2fr; gap:clamp(2rem,4vw,4.5rem); padding-block:clamp(4rem,7vw,7rem); }
.premium-footer h2,.premium-footer h3 { color:white; }
.premium-footer h3 { font:700 var(--font-mono-label)/1.45 var(--font-mono); letter-spacing:.095em; text-transform:uppercase; color:var(--color-yellow); margin-bottom:1.4rem; }
.footer-brand .footer-logo { width:190px; margin-bottom:1.5rem; }
.footer-brand p { max-width:34ch; color:rgba(255,255,255,.72); }
.footer-list li + li { margin-top:.65rem; }
.footer-list a { color:rgba(255,255,255,.82); }
.footer-list a:hover { color:var(--color-yellow); }
.footer-contact p { color:rgba(255,255,255,.72); }
.footer-contact a { color:white; font-weight:700; }
.premium-footer .footer-bottom { width:min(100% - 3rem,1240px); margin:auto; padding:1.4rem 0; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; gap:1rem; }
.premium-footer .footer-bottom p { margin:0; }
.premium-footer .footer-bottom a { color:var(--color-yellow); font-weight:700; }

@media (max-width:900px) {
  .page-hero-grid,.page-intro-grid,.contact-layout { grid-template-columns:1fr; }
  .page-hero-media { min-height:360px; order:-1; }
  .editorial-grid,.resource-grid,.catalogue-grid,.topic-grid { grid-template-columns:repeat(2,1fr); }
  .premium-footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
  .page-hero h1 { font-size:clamp(3rem,16vw,4.6rem); }
  .page-hero-copy { padding:3rem 1rem 3.5rem; }
  .page-hero-media { min-height:260px; }
  .training-hero .page-hero-copy { width:min(100% - 2rem,1240px); padding:3rem 0 2.5rem; }
  .training-hero .page-hero-media { min-height:0; aspect-ratio:16/9; order:initial; }
  .editorial-grid,.resource-grid,.catalogue-grid,.brand-grid,.topic-grid,.contact-detail-grid,.premium-footer-grid { grid-template-columns:1fr; }
  .image-band { grid-template-columns:1fr 1fr; }
  .page-cta .container { display:block; }
  .page-cta .btn { margin-top:1.5rem; width:100%; text-align:center; }
  .premium-footer .footer-bottom { width:min(100% - 2rem,1240px); flex-direction:column; }
}

/* CTMES premium redesign v3 — composition over raw scale. */
.task-pathways,.product-capability,.commercial-story,.technical-sales,.categories,.human-trust,.final-cta { padding:clamp(3.75rem,5.8vw,6.25rem) 0; }
.task-pathways { position:relative; overflow:hidden; background:#202225; color:#f8f6f1; }
.task-pathways::before { content:""; position:absolute; inset:0 auto 0 0; width:clamp(7px,1vw,14px); background:linear-gradient(180deg,#ffd500 0%,#f59a08 100%); }
.pathways-layout { display:grid; grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr); gap:clamp(3rem,7vw,7rem); align-items:start; }
.pathways-intro { position:sticky; top:7rem; }
.task-pathways .section-kicker { color:#f5b800; margin:0 0 1.1rem; }
.task-pathways h2 { max-width:8ch; margin:0; color:#fff; font-size:clamp(3rem,5.6vw,5.8rem); line-height:.88; letter-spacing:-.06em; }
.pathways-lede { max-width:29ch; margin:2rem 0 0; color:rgba(255,255,255,.64); font-size:clamp(1rem,1.4vw,1.18rem); }
.pathways-grid { display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid rgba(255,255,255,.18); }
.pathway-card { min-height:190px; display:grid; grid-template-columns:3.5rem minmax(0,1fr) 3rem; gap:clamp(1rem,2.5vw,2rem); align-items:center; padding:clamp(1.7rem,3.2vw,2.8rem) .3rem; border:0; border-bottom:1px solid rgba(255,255,255,.18); border-radius:0; background:transparent; color:#fff; box-shadow:none; transition:background-color .25s ease,padding .25s ease; }
.pathway-number { align-self:start; padding-top:.3rem; color:#f5b800; font:700 var(--font-mono-index)/1.25 var(--font-mono); letter-spacing:.09em; }
.pathway-copy { display:grid; gap:.85rem; }
.pathway-title { max-width:22ch; font-size:clamp(1.65rem,3vw,2.85rem); font-weight:780; line-height:.98; letter-spacing:-.035em; }
.pathway-description { max-width:57ch; color:rgba(255,255,255,.68); line-height:1.6; }
.pathway-arrow { width:2.65rem; height:2.65rem; display:grid; place-items:center; justify-self:end; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#f5b800; font-size:1.15rem; transition:background-color .25s ease,color .25s ease,transform .25s ease; }
.pathway-card:hover { background:rgba(255,255,255,.055); padding-inline:1rem; }
.pathway-card:hover .pathway-arrow { background:#f5b800; color:#202225; transform:translate(2px,-2px); }
.pathway-card:focus-visible { outline-color:#f5b800; outline-offset:5px; }
.product-capability { background:#fff; }
.capability-grid { gap:clamp(2.5rem,5vw,5rem); }
.capability-content h2 { max-width:13ch; font-size:clamp(2.35rem,4vw,4.25rem); line-height:.98; }
.capability-media { position:relative; }
.capability-media::after { content:""; position:absolute; width:34%; height:8px; left:0; bottom:-8px; background:var(--color-yellow); }
.commercial-story { background:#dedbd3; }
.commercial-story h2 { max-width:16ch; }
.commercial-grid { gap:1rem; }
.commercial-card { min-height:320px; box-shadow:0 14px 38px rgba(27,29,31,.08); }
.technical-sales { background:#242629; color:#fff; }
.technical-sales h2 { color:#fff; max-width:12ch; margin-bottom:2.6rem; }
.sales-steps { gap:1rem; }
.step { min-height:245px; padding:2rem; background:#303338; color:#fff; border:1px solid rgba(255,255,255,.09); border-top:4px solid var(--color-yellow); display:flex; flex-direction:column; }
.step h3 { color:#fff; font-size:clamp(1.35rem,2vw,1.85rem); }
.step p { color:rgba(255,255,255,.76); }
.step-number { margin-bottom:auto; font-size:var(--font-mono-index); }
.categories { background:linear-gradient(125deg,#ffd500 0%,#f4a008 100%); color:#202225; }
.categories h2 { max-width:17ch; font-size:clamp(2.35rem,4.4vw,4.6rem); line-height:.98; margin-bottom:1.4rem; }
.categories .section-kicker,.categories .category-number { color:#713400; }
.categories .section-intro { max-width:58ch; }
.categories-grid { gap:.8rem; }
.category-item { min-height:250px; padding:1.8rem; background:rgba(255,255,255,.88); border:0; display:flex; flex-direction:column; }
.category-item h3 { font-size:1.35rem; }
.category-item p { margin-top:auto; }
.human-trust { background:#ece9e1; }
.trust-grid { align-items:stretch; }
.trust-media img { height:100%; min-height:430px; object-fit:cover; }
.trust-content { align-self:center; padding:clamp(1rem,3vw,3rem); }
.trust-content h2 { max-width:12ch; }
.final-cta { padding:clamp(4.5rem,7vw,7rem) 0; }
.final-cta h2 { max-width:14ch; margin-inline:auto; }
.premium-footer-grid { padding-block:clamp(3.5rem,5vw,5.5rem); }
@media (max-width:700px) {
 .task-pathways,.product-capability,.commercial-story,.technical-sales,.categories,.human-trust,.final-cta { padding:3.5rem 0; }
 .task-pathways::before { width:6px; }
 .pathways-layout { grid-template-columns:1fr; gap:2.8rem; }
 .pathways-intro { position:static; }
 .task-pathways h2 { max-width:9ch; font-size:clamp(3.1rem,15vw,4.8rem); }
 .pathways-lede { margin-top:1.35rem; }
 .pathway-card { min-height:auto; grid-template-columns:2rem minmax(0,1fr) 2.6rem; gap:.8rem; padding:1.7rem 0; }
 .pathway-title { font-size:clamp(1.45rem,7vw,2rem); }
 .pathway-description { font-size:.94rem; line-height:1.5; }
 .pathway-arrow { width:2.35rem; height:2.35rem; }
 .pathway-card:hover { padding-inline:.4rem; }
 .step,.category-item { min-height:auto; }
 .commercial-card { min-height:0; }
 .capability-content h2,.commercial-story h2,.technical-sales h2,.categories h2,.trust-content h2 { max-width:none; }
 .trust-media img { min-height:280px; }
}

/* CTMES premium redesign v4 — authored page systems. */
.commercial-grid { grid-template-columns:1fr; gap:0; border-top:1px solid rgba(32,34,37,.22); }
.commercial-card { grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); min-height:280px; border:0; border-bottom:1px solid rgba(32,34,37,.22); box-shadow:none; }
.commercial-card:nth-of-type(even) img { order:2; }
.commercial-card:nth-of-type(even) .commercial-card-copy { order:1; }
.commercial-card-accent { background:#242629; }
.categories-grid { grid-template-columns:1fr 1fr; gap:0 2.5rem; border-top:1px solid rgba(32,34,37,.5); }
.category-item { min-height:0; display:grid; grid-template-columns:3rem minmax(0,1fr); column-gap:1rem; padding:1.65rem 0; background:transparent; border-bottom:1px solid rgba(32,34,37,.35); }
.category-item .category-number { grid-row:1 / span 2; margin:0; }
.category-item h3,.category-item p { grid-column:2; margin-top:0; }

.brand-ledger { grid-template-columns:1fr; gap:0; border-top:1px solid #bbb6ab; margin-top:2.5rem; }
.brand-ledger .brand-panel { display:grid; grid-template-columns:170px minmax(190px,.65fr) minmax(0,1.35fr); align-items:center; gap:clamp(1.2rem,4vw,4rem); padding:1.35rem 0; border:0; border-bottom:1px solid #bbb6ab; background:transparent; }
.brand-ledger .brand-panel > img:first-child { width:150px; height:60px; margin:0; background:transparent; padding:.25rem; }
.brand-ledger .brand-panel h3,.brand-ledger .brand-panel p { margin:0; }

.brands-section { background:#f1f2f3; }
.brand-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem); margin-top:2.5rem; }
.brand-showcase .brand-panel { display:grid; grid-template-columns:140px minmax(0,1fr); grid-template-rows:1fr auto; gap:1.25rem 1.5rem; min-height:275px; padding:clamp(1.5rem,2.5vw,2.25rem); border:1px solid #c8cbce; border-top:6px solid var(--color-yellow); background:#fff; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.brand-showcase .brand-panel:hover { transform:translateY(-3px); border-color:#888d92; box-shadow:0 18px 42px rgba(24,25,27,.10); }
.brand-showcase .brand-panel > img:first-child { grid-column:1; grid-row:1 / span 2; width:100%; height:92px; margin:0; padding:.75rem; object-fit:contain; background:#fff; border:1px solid #d5d8db; }
.brand-showcase .brand-copy { grid-column:2; grid-row:1; }
.brand-showcase .brand-copy > * { margin-top:0; }
.brand-showcase .brand-copy h3 { margin:.45rem 0 .75rem; font-size:clamp(1.55rem,2vw,2rem); }
.brand-showcase .brand-copy p:last-child { margin-bottom:0; color:var(--color-graphite); }
.brand-showcase .brand-copy .card-meta { color:var(--color-charcoal) !important; }
.brand-showcase .brand-actions { grid-column:2; grid-row:2; display:flex; flex-wrap:wrap; gap:.55rem .75rem; align-self:end; }
.brand-showcase .brand-actions a { display:inline-flex; align-items:center; min-height:44px; padding:.65rem .85rem; border:1px solid var(--color-charcoal); background:var(--color-charcoal); color:#fff; font-weight:800; text-decoration:none; }
.brand-showcase .brand-actions a::after { content:" ↗"; margin-left:.35rem; }
.brand-showcase .brand-actions a:hover,.brand-showcase .brand-actions a:focus-visible { border-color:var(--color-yellow); background:var(--color-yellow); color:var(--color-charcoal); }
.brand-showcase .brand-panel-featured { grid-column:1 / -1; grid-template-columns:180px minmax(230px,.8fr) minmax(280px,1.2fr); grid-template-rows:1fr; min-height:220px; align-items:center; background:#2b2d30; color:#fff; border-color:#2b2d30; }
.brand-showcase .brand-panel-featured > img:first-child { grid-column:1; grid-row:1; height:110px; background:#fff; }
.brand-showcase .brand-panel-featured .brand-copy { grid-column:2; grid-row:1; }
.brand-showcase .brand-panel-featured .brand-copy h3 { color:#fff; }
.brand-showcase .brand-panel-featured .brand-copy .card-meta { color:var(--color-yellow) !important; }
.brand-showcase .brand-panel-featured .brand-copy p:last-child { color:rgba(255,255,255,.76); }
.brand-showcase .brand-panel-featured .brand-actions { grid-column:3; grid-row:1; }
.brand-showcase .brand-panel-featured .brand-actions a { border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; }
.brand-showcase .brand-panel-featured .brand-actions a:hover,.brand-showcase .brand-panel-featured .brand-actions a:focus-visible { background:var(--color-yellow); color:#292b2e; }

.catalogue-ledger { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; border:0; }
.catalogue-ledger .catalogue-card { position:relative; display:grid; grid-template-columns:152px minmax(0,1fr); min-height:228px; padding:0; overflow:hidden; border:1px solid #c8c3b8; border-top:5px solid var(--color-yellow); background:#fff; color:var(--color-charcoal); text-decoration:none; box-shadow:0 8px 22px rgba(35,34,31,.045); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; cursor:pointer; }
.catalogue-ledger .catalogue-card > br { display:none; }
.catalogue-ledger .catalogue-card-media { position:relative; display:block; min-height:223px; background:#f4f2ed; overflow:hidden; }
.catalogue-ledger .catalogue-card img { width:100%; height:100%; margin:0; padding:1rem; object-fit:contain; transition:transform .25s ease; }
.catalogue-ledger .catalogue-card-content { display:flex; min-width:0; flex-direction:column; padding:1.45rem; }
.catalogue-ledger .catalogue-card .card-meta { margin:0; }
.catalogue-ledger .catalogue-card h3 { margin:.5rem 0 .65rem; color:var(--color-charcoal); font-size:clamp(1.3rem,1.8vw,1.7rem); }
.catalogue-ledger .catalogue-card p { margin:0 0 1rem; color:var(--color-graphite); line-height:1.55; }
.catalogue-ledger .catalogue-card-action { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:1rem; margin:auto -1.45rem -1.45rem; padding:.82rem 1.45rem; border-top:0; background:var(--color-yellow); color:#2b2d30; font-weight:850; line-height:1.25; }
.catalogue-ledger .catalogue-card-action span { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:50%; background:#2b2d30; color:#fff; }
.catalogue-ledger .catalogue-card:hover { transform:translateY(-3px); border-color:#68645b; box-shadow:0 18px 34px rgba(35,34,31,.14); }
.catalogue-ledger .catalogue-card:hover img { transform:scale(1.035); }
.catalogue-ledger .catalogue-card:hover .catalogue-card-action { background:#f3bd00; }
.catalogue-ledger .catalogue-card:active { transform:translateY(-1px); }
.catalogue-ledger .catalogue-card:focus-visible { outline:3px solid var(--color-charcoal); outline-offset:4px; box-shadow:0 0 0 7px var(--color-yellow); }

.application-index { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border-top:1px solid #bbb6ab; }
.application-index .editorial-card { display:grid; grid-template-columns:minmax(130px,.8fr) 1.2fr; grid-template-rows:auto auto 1fr; gap:.5rem 1.4rem; padding:1.5rem; border:0; border-bottom:1px solid #bbb6ab; background:transparent; }
.application-index .editorial-card:nth-child(odd) { border-right:1px solid #bbb6ab; padding-left:0; }
.application-index .editorial-card img { grid-row:1 / span 3; height:190px; margin:0; }
.application-index .editorial-card h3,.application-index .editorial-card p,.application-index .editorial-card a { grid-column:2; margin:0; }
.application-index .editorial-card a,.resource-rail .resource-card a { color:#713400; font-weight:800; text-decoration:underline; text-underline-offset:.24em; }

.resource-rail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem); border-top:0; }
.purchase-rail { grid-template-columns:1fr; gap:0; border-top:1px solid #bbb6ab; }
.resource-rail .resource-card { display:grid; grid-template-columns:minmax(150px,.78fr) minmax(0,1.22fr); grid-template-rows:auto 1fr auto; align-items:start; gap:.7rem 1.3rem; min-height:220px; padding:0; overflow:hidden; border:1px solid #c9c4b9; border-top:5px solid var(--color-yellow); background:#fff; }
.resource-rail .resource-card img { grid-column:1; grid-row:1 / span 3; width:100%; height:100%; min-height:215px; margin:0; object-fit:cover; }
.resource-rail .resource-card h3 { grid-column:2; grid-row:1; margin:1.4rem 1.4rem 0 0; font-size:clamp(1.35rem,2vw,1.8rem); }
.resource-rail .resource-card p { grid-column:2; grid-row:2; margin:0 1.4rem 0 0; max-width:32ch; }
.resource-rail .resource-card a { grid-column:2; grid-row:3; align-self:end; display:inline-flex; align-items:center; min-height:44px; margin:0 1.4rem 1.25rem 0; color:#713400; font-weight:800; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.24em; }
.resource-rail .resource-actions { grid-column:2; grid-row:3; align-self:end; display:grid; gap:.35rem; margin:0 1.4rem 1.05rem 0; }
.resource-rail .resource-actions a { grid-column:auto; grid-row:auto; min-height:36px; margin:0; }
.resource-rail .alternate-source-link { color:var(--color-graphite); font-size:.9rem; font-weight:700; text-decoration-thickness:1px; }
.resource-rail .resource-card a::after { content:" ↗"; margin-left:.35rem; }
.technical-index,.syllabus-index { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid #99958c; counter-reset:topic; }
.technical-index .topic-chip,.syllabus-index .topic-chip { counter-increment:topic; position:relative; min-height:92px; padding:1.25rem 1rem 1.25rem 3.4rem; border:0; border-bottom:1px solid #aaa69d; background:transparent; }
.technical-index .topic-chip::before,.syllabus-index .topic-chip::before { content:counter(topic,decimal-leading-zero); position:absolute; left:0; color:#a4450d; font:700 var(--font-mono-index)/1.35 var(--font-mono); }
.purchase-rail .resource-card { display:grid; grid-template-columns:170px minmax(220px,.7fr) minmax(0,1.3fr); align-items:center; gap:clamp(1rem,4vw,4rem); padding:1.8rem 0; border:0; border-bottom:1px solid #bbb6ab; background:transparent; }
.purchase-rail .resource-card > * { margin:0; }
.status-panel { max-width:none; display:grid; grid-template-columns:.45fr 1.05fr minmax(260px,1.25fr) auto; align-items:center; gap:2rem; padding:clamp(2rem,4vw,3.5rem); background:#242629; color:white; border:0; border-left:8px solid var(--color-yellow); }
.status-panel .section-kicker { margin:0; color:var(--color-yellow); }
.status-panel strong,.status-panel p { margin:0; }
.status-actions { display:grid; gap:.65rem; min-width:210px; }
.status-actions .btn { text-align:center; }
.status-source-link { color:#fff; font-weight:700; text-align:center; text-decoration:underline; text-underline-offset:.25em; }

.concept-form { position:relative; box-shadow:none; border:0; border-left:8px solid var(--color-yellow); background:#242629; color:white; }
.concept-form::before { content:"Enquiry brief"; display:block; margin-bottom:1.5rem; color:var(--color-yellow); font:700 var(--font-mono-label)/1.45 var(--font-mono); letter-spacing:.095em; text-transform:uppercase; }
.concept-form input,.concept-form textarea { background:rgba(255,255,255,.08); color:white; border-color:rgba(255,255,255,.35); }
.contact-brief-list { display:grid; gap:.8rem; margin:1.4rem 0 1.8rem; padding-left:1.25rem; color:rgba(255,255,255,.88); }
.contact-brief-list li::marker { color:var(--color-yellow); }
.contact-brief-panel .btn { margin-bottom:1rem; }
.contact-brief-panel .form-notice a { display:inline-flex; align-items:center; min-height:44px; color:var(--color-yellow); font-weight:800; }
.concept-form button:disabled { opacity:.58; cursor:not-allowed; }
.contact-detail-grid { gap:0 2rem; border-top:1px solid #bbb6ab; }
.contact-detail { border-top:0; border-bottom:1px solid #bbb6ab; }

@media (max-width:900px) {
 .brand-ledger .brand-panel { grid-template-columns:145px 1fr; }
 .brand-ledger .brand-panel p { grid-column:2; }
 .brand-showcase { grid-template-columns:1fr; }
 .brand-showcase .brand-panel-featured { grid-column:1; grid-template-columns:150px minmax(0,1fr); grid-template-rows:1fr auto; }
 .brand-showcase .brand-panel-featured > img:first-child { grid-column:1; grid-row:1 / span 2; }
 .brand-showcase .brand-panel-featured .brand-copy { grid-column:2; grid-row:1; }
 .brand-showcase .brand-panel-featured .brand-actions { grid-column:2; grid-row:2; }
 .catalogue-ledger,.application-index { grid-template-columns:1fr; }
 .application-index .editorial-card:nth-child(odd) { border-right:0; padding-left:1.5rem; }
 .status-panel { grid-template-columns:1fr; }
 .resource-rail { grid-template-columns:1fr; }
 .resource-rail .resource-card { grid-template-columns:190px 1fr; }
 .resource-rail .resource-card p,.resource-rail .resource-card a { grid-column:2; }
}
@media (max-width:600px) {
 .commercial-card,.commercial-card:nth-child(even) { grid-template-columns:1fr; }
 .commercial-card:nth-child(even) img,.commercial-card:nth-child(even) .commercial-card-copy { order:initial; }
 .commercial-card img { height:220px; }
 .categories-grid,.technical-index,.syllabus-index { grid-template-columns:1fr; }
 .brand-ledger .brand-panel { grid-template-columns:1fr; gap:.8rem; }
 .brand-ledger .brand-panel p { grid-column:1; }
 .brand-showcase .brand-panel,.brand-showcase .brand-panel-featured { grid-template-columns:1fr; grid-template-rows:auto auto auto; gap:.9rem; min-height:0; }
 .brand-showcase .brand-panel > img:first-child,.brand-showcase .brand-panel-featured > img:first-child { grid-column:1; grid-row:1; width:100%; height:90px; }
 .brand-showcase .brand-copy,.brand-showcase .brand-panel-featured .brand-copy { grid-column:1; grid-row:2; }
 .brand-showcase .brand-actions,.brand-showcase .brand-panel-featured .brand-actions { grid-column:1; grid-row:3; }
 .brand-showcase .brand-actions a { width:100%; justify-content:space-between; }
 .catalogue-ledger .catalogue-card { grid-template-columns:104px minmax(0,1fr); min-height:210px; }
 .catalogue-ledger .catalogue-card-media { min-height:205px; }
 .catalogue-ledger .catalogue-card img { width:100%; height:100%; padding:.7rem; }
 .catalogue-ledger .catalogue-card-content { padding:1.15rem; }
 .catalogue-ledger .catalogue-card h3 { font-size:1.28rem; }
 .catalogue-ledger .catalogue-card-action { min-height:48px; margin:auto -1.15rem -1.15rem; padding:.75rem 1.15rem; font-size:.92rem; }
 .application-index .editorial-card { grid-template-columns:110px 1fr; padding-inline:0; }
 .application-index .editorial-card:nth-child(odd) { padding-left:0; }
 .application-index .editorial-card img { height:150px; }
 .resource-rail .resource-card { grid-template-columns:1fr; grid-template-rows:auto auto auto auto; gap:0; min-height:0; border-top-width:6px; }
 .resource-rail .resource-card img { grid-column:1; grid-row:1; width:100%; height:auto; min-height:0; aspect-ratio:16/9; object-position:center 32%; }
 .resource-rail .resource-card h3 { grid-column:1; grid-row:2; margin:1.25rem 1.25rem .55rem; font-size:1.55rem; }
 .resource-rail .resource-card p { grid-column:1; grid-row:3; margin:0 1.25rem .8rem; max-width:none; }
 .resource-rail .resource-card a { grid-column:1; grid-row:4; margin:0 1.25rem 1.15rem; padding:.2rem 0; }
 .resource-rail .resource-actions { grid-column:1; grid-row:4; margin:0 1.25rem 1.05rem; }
 .resource-rail .resource-actions a { grid-column:auto; grid-row:auto; margin:0; }
 .purchase-rail .resource-card { grid-template-columns:1fr; gap:.55rem; }
 .status-panel { border-left-width:6px; }
}

/* Page-level conversion signatures and compact mobile wayfinding. */
.page-products .page-cta,.page-training .page-cta { background:linear-gradient(125deg,#ffd500,#f4a008); color:#202225; }
.page-products .page-cta h2,.page-training .page-cta h2 { color:#202225; }
.page-products .page-cta .btn,.page-training .page-cta .btn { background:#202225; color:white; }
.page-technical .page-cta { background:#ece9e1; color:#202225; border-top:1px solid #c7c2b8; }
.page-technical .page-cta h2 { color:#202225; }
.page-promotions .page-cta { background:#202225; }
.page-contact .page-cta { background:#f5b800; color:#202225; }
.page-contact .page-cta h2 { color:#202225; }
.page-contact .page-cta .btn { background:#202225; color:white; }
.footer-list a { display:inline-flex; align-items:center; min-height:32px; }
@media (max-width:600px) {
 .page-cta .container { display:grid; gap:1.25rem; }
 .page-cta .btn { margin-top:0; }
 .premium-footer-grid { grid-template-columns:1fr 1fr; gap:2rem 1.25rem; padding-block:2.75rem; }
 .premium-footer-grid .footer-brand,.premium-footer-grid .footer-contact { grid-column:1 / -1; }
 .premium-footer h3 { margin-bottom:.8rem; }
 .footer-list li + li { margin-top:.15rem; }
 .footer-list a { min-height:44px; }
 .footer-contact a,.premium-footer .footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
}

/* Owner-managed current promotions projection. */
.current-promotions-section { background:#eceff1; border-block:1px solid #c8cdd1; }
.current-promotions-section > .container > h2 { max-width:22ch; margin-bottom:clamp(1.8rem,4vw,3rem); }
.promotion-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.promotion-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; border:1px solid #c8cdd1; border-top:6px solid var(--color-yellow); }
.promotion-card-image { width:100%; aspect-ratio:16/10; object-fit:cover; background:#303338; }
.promotion-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:clamp(1.25rem,2.2vw,1.8rem); }
.promotion-card-body h3 { margin:.2rem 0 .65rem; font-size:clamp(1.35rem,2.3vw,1.85rem); line-height:1.18; }
.promotion-card-body > p:not(.card-meta):not(.promotion-end-date) { margin:0 0 1rem; color:#4a4d52; }
.promotion-end-date { margin:auto 0 1rem; padding-top:.75rem; color:#303338; font:700 var(--font-mono-label)/1.4 var(--font-mono); }
.promotion-card .btn { margin-top:auto; }
.promotion-loading,.promotion-empty-state { margin:0; padding:clamp(1.5rem,4vw,3rem); }
.promotion-loading { min-height:160px; background:#fff; border:1px solid #c8cdd1; color:#4a4d52; }
.promotion-empty-state { max-width:none; background:#303338; color:#fff; border-left:8px solid var(--color-yellow); }
.promotion-empty-state .section-kicker { margin:0 0 .55rem; color:var(--color-yellow); }
.promotion-empty-state h3 { margin:0 0 .55rem; color:#fff; font-size:clamp(1.4rem,2.5vw,2rem); }
.promotion-empty-state p:last-child { max-width:72ch; margin:0; color:#fff; }
@media (max-width:900px) { .promotion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
 .promotion-grid { grid-template-columns:1fr; }
 .promotion-empty-state { border-left-width:6px; }
}

/* Hosted contrast contract — explicit component colours. */
.section-kicker,.card-meta,.card-index { color:#713400; }
.technical-sales .step-number,.task-pathways .section-kicker,.commercial-card-accent .card-index,.concept-form .section-kicker,.status-panel .section-kicker { color:#f5b800; }
.page-hero h1 { color:#fff; }
.page-cta h2 { color:#fff; }
.page-products .page-cta h2,.page-training .page-cta h2,.page-technical .page-cta h2,.page-contact .page-cta h2 { color:#202225; }
.concept-form h2 { color:#fff; }
.concept-form .form-notice { color:rgba(255,255,255,.78); }

/* Site-wide honest interaction system: one visual object, one clear action. */
.action-card { position:relative; color:var(--color-charcoal); text-decoration:none !important; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
a.action-card { cursor:pointer; }
.action-card > br,.action-card-body > br { display:none; }
.commercial-grid > br,.application-index > br,.resource-rail > br,.purchase-rail > br { display:none; }
.action-card h3,.action-card p { color:inherit; }
.action-card-cta,.action-card-primary { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:1rem; padding:.82rem 1rem; border:0; background:var(--color-yellow); color:#202225 !important; font-weight:850; line-height:1.25; text-decoration:none !important; }
.action-card-cta > span,.action-card-primary > span { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:50%; background:#202225; color:#fff; }
.action-card:hover { transform:translateY(-3px); border-color:#68645b; box-shadow:0 18px 38px rgba(29,30,32,.14); }
.action-card:focus-visible { outline:3px solid #202225; outline-offset:4px; box-shadow:0 0 0 7px var(--color-yellow); }
.action-card:active { transform:translateY(-1px); }
.action-card:hover .action-card-cta,.action-card-primary:hover,.action-card-primary:focus-visible { background:#f3bd00; }
.action-card img { transition:transform .25s ease; }
.action-card:hover img,.action-card-media:hover img { transform:scale(1.025); }

.commercial-card.action-card { color:var(--color-charcoal); }
.commercial-card.action-card .commercial-card-copy { min-width:0; }
.commercial-card.action-card .action-card-cta { width:100%; margin-top:auto; }
.commercial-card-accent.action-card { color:#fff; }
.commercial-card-accent.action-card h3,.commercial-card-accent.action-card p { color:#fff; }

.application-index .document-card,.resource-rail .action-card { display:flex; min-height:100%; flex-direction:column; gap:0; padding:0; overflow:hidden; border:1px solid #c8c3b8; border-top:6px solid var(--color-yellow); background:#fff; }
.application-index .document-card:nth-child(odd) { padding:0; }
.application-index .document-card .action-card-media,.resource-rail .action-card-media { display:block; overflow:hidden; background:#ece9e1; }
.application-index .document-card .action-card-media img,.resource-rail .action-card-media img { display:block; width:100%; height:auto; margin:0; padding:0; aspect-ratio:16/10; object-fit:cover; object-position:center; }
.application-index .document-card .action-card-body,.resource-rail .action-card-body { display:flex; min-width:0; flex:1; flex-direction:column; padding:1.35rem; }
.application-index .document-card h3,.resource-rail .action-card h3 { margin:0 0 .65rem; font-size:clamp(1.35rem,2vw,1.7rem); }
.application-index .document-card p,.resource-rail .action-card p { margin:0 0 1.15rem; color:var(--color-graphite); line-height:1.55; }
.application-index .document-card .action-card-cta,.resource-rail .document-card .action-card-cta { margin:auto -1.35rem -1.35rem; padding:.82rem 1.35rem; }
.resource-rail .action-card-title { color:var(--color-charcoal); text-decoration:none; }
.resource-rail .action-card-title:hover,.resource-rail .action-card-title:focus-visible { text-decoration:underline; text-decoration-color:var(--color-yellow); text-decoration-thickness:3px; text-underline-offset:.2em; }
.resource-rail .action-card-multi:hover { transform:none; }
.resource-rail .action-card-multi:focus-within { border-color:#68645b; box-shadow:0 18px 38px rgba(29,30,32,.12); }
.resource-rail .action-card-multi .resource-actions { display:grid; gap:.7rem; margin:auto -1.35rem -1.35rem; }
.resource-rail .action-card-multi .resource-actions a { margin:0; }
.resource-rail .action-card-multi .resource-actions .action-card-primary { min-height:48px; padding:.82rem 1.35rem; background:var(--color-yellow); color:#202225 !important; text-decoration:none; }
.resource-rail .action-card-multi .alternate-source-link { min-height:44px; display:flex; align-items:center; padding:.6rem 1.35rem; color:#4a4d52; font-size:.88rem; font-weight:750; text-decoration:underline; text-underline-offset:.2em; }

/* Customer enquiry — durable, accessible and aligned with CTMES. */
.enquiry-form-panel { position:relative; padding:clamp(1.5rem,3.5vw,2.75rem); border-left:8px solid var(--color-yellow); background:#242629; color:#fff; }
.enquiry-form-panel .section-kicker { margin:0 0 .65rem; color:var(--color-yellow); }
.enquiry-form-panel h2 { margin:.1rem 0 .7rem; color:#fff; font-size:clamp(2rem,3.6vw,3.25rem); line-height:1; }
.enquiry-intro { max-width:58ch; margin:0 0 1.7rem; color:rgba(255,255,255,.78); }
.enquiry-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.form-field { min-width:0; }
.form-field-wide { grid-column:1 / -1; }
.form-field label { display:block; margin-bottom:.38rem; color:#fff; font-weight:750; }
.form-field input,.form-field select,.form-field textarea { width:100%; min-height:48px; padding:.75rem .85rem; border:1px solid rgba(255,255,255,.5); border-radius:2px; background:#fff; color:#202225; font:inherit; line-height:1.35; }
.form-field textarea { min-height:152px; resize:vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:var(--color-yellow); outline:3px solid var(--color-yellow); outline-offset:2px; }
.field-hint { margin:.4rem 0 0; color:rgba(255,255,255,.68); font-size:.88rem; }
.enquiry-honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; }
.consent-field { display:flex; gap:.75rem; align-items:flex-start; margin:1.25rem 0; color:rgba(255,255,255,.88); line-height:1.45; cursor:pointer; }
.consent-field input { width:22px; height:22px; flex:0 0 22px; margin:.05rem 0 0; accent-color:var(--color-yellow); }
.enquiry-submit { min-width:180px; border:0; cursor:pointer; }
.enquiry-submit:disabled { opacity:.68; cursor:wait; }
.form-status { min-height:0; margin-top:1rem; padding:0; border-left:0 solid transparent; color:#fff; font-weight:720; }
.form-status:not(:empty) { min-height:48px; padding:.8rem 1rem; border-left-width:5px; background:rgba(255,255,255,.09); }
.form-status-pending { border-left-color:#e5e7eb; }
.form-status-success { border-left-color:#68d391; }
.form-status-error { border-left-color:#ff8a65; }
.form-fallback { margin:1.25rem 0 0; padding-top:1.1rem; border-top:1px solid rgba(255,255,255,.22); color:rgba(255,255,255,.76); }
.form-fallback a { display:inline-flex; align-items:center; min-height:44px; color:var(--color-yellow); font-weight:800; text-decoration:underline; text-underline-offset:.2em; }
@media (max-width:700px) {
 .enquiry-form-panel { border-left-width:6px; padding:1.35rem; }
 .enquiry-form-grid { grid-template-columns:1fr; }
 .form-field-wide { grid-column:1; }
 .enquiry-submit { width:100%; min-height:52px; }
}

.purchase-rail .action-card-text { display:flex; min-height:220px; flex-direction:column; gap:.55rem; padding:1.5rem; border:1px solid #c8c3b8; border-top:6px solid var(--color-yellow); background:#fff; }
.purchase-rail .action-card-text h3,.purchase-rail .action-card-text p { margin:0; }
.purchase-rail .action-card-text .action-card-cta { margin:auto -1.5rem -1.5rem; padding:.82rem 1.5rem; }

@media (max-width:600px) {
 .commercial-card.action-card .action-card-cta { margin-top:1.25rem; }
 .application-index .document-card .action-card-body,.resource-rail .action-card-body { padding:1.15rem; }
 .application-index .document-card .action-card-cta,.resource-rail .document-card .action-card-cta { margin:auto -1.15rem -1.15rem; padding:.78rem 1.15rem; }
 .resource-rail .action-card-multi .resource-actions { margin:auto -1.15rem -1.15rem; }
 .purchase-rail .action-card-text { min-height:205px; }
}
