/* Concept One: Final Candidate consolidated design layer, v0.11.8-a. */


/* Source layer: concept-a.css */
/* Concept A.1: Calm Authority, with a Pulse, v0.11.1-a. Applied only to the design concept pages. */
@font-face {
  font-family: "Instrument Sans";
  src: url("assets/InstrumentSans-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 75% 100%;
  font-display: swap;
}

:root {
  --navy: #0A1929;
  --white: #FFFFFF;
  --pink: #FF1FA4;
  --paper: #F6F5F1;
  --line: rgba(10, 25, 41, 0.22);
  --line-on-dark: rgba(255, 255, 255, 0.24);
  --font-display: "ClashDisplay", sans-serif;
  --font-body: "Instrument Sans", Arial, sans-serif;
  --container-max: 80rem;
  --container-padding: clamp(1.25rem, 4vw, 4rem);
  --content-max: 72rem;
  --space-section: clamp(5rem, 10vw, 9rem);
}

html { scroll-padding-top: 5rem; }

body {
  background: var(--white);
  color: var(--navy);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 430;
  line-height: 1.62;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, .question-title, .footer-tagline {
  font-family: var(--font-display);
  font-weight: 590;
  letter-spacing: -0.035em;
}

p { text-wrap: pretty; }
a { text-underline-offset: 0.24em; }
.container { width: 100%; }
.centered-content { max-width: 67rem; margin-inline: 0; }

.section-label,
.partners-label,
.eyebrow {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 680;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

header {
  min-height: 5rem;
  padding: 0;
  background: var(--white);
  border-bottom: 1px solid rgba(10, 25, 41, 0.16);
  box-shadow: none;
  position: sticky;
}
header.scrolled { box-shadow: 0 0.3rem 1.5rem rgba(10, 25, 41, 0.06); }

header .header-content { min-height: 5rem; gap: 2rem; }
.site-wordmark { display: inline-flex; flex: 0 0 auto; align-items: center; }
.site-wordmark img { display: block; width: 7.25rem; height: auto; }
header nav { margin-left: auto; }
header nav ul { gap: clamp(1.05rem, 2vw, 2rem); }
header nav a {
  position: relative;
  color: var(--navy);
  font-family: var(--font-body);
  font-size: 0.86rem;
  font-weight: 560;
  letter-spacing: -0.005em;
  text-decoration: none;
}

header nav a::after {
  position: absolute;
  right: 0;
  bottom: -0.42rem;
  left: 0;
  height: 1px;
  background: var(--pink);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

header nav a:hover,
header nav a:focus,
header nav a[aria-current="page"] { color: var(--navy); text-decoration: none; }
header nav a:hover::after,
header nav a:focus-visible::after,
header nav a[aria-current="page"]::after { transform: scaleX(1); }

.hamburger .line { background: var(--navy); }
.mobile-menu {
  align-items: flex-start;
  justify-content: flex-start;
  padding: 7.5rem var(--container-padding) 3rem;
  background: var(--navy);
  border-top: 1px solid var(--line-on-dark);
}
.mobile-menu a {
  width: 100%;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--line-on-dark);
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 8vw, 2.6rem);
  font-weight: 540;
  letter-spacing: -0.025em;
}
.mobile-menu a:hover,
.mobile-menu a:focus,
.mobile-menu a[aria-current="page"] { color: var(--pink); }

.download-btn,
.button {
  min-height: 3.1rem;
  padding: 0.82rem 1.3rem;
  background: var(--white);
  border: 1px solid var(--white);
  border-radius: 0.18rem;
  color: var(--navy);
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
  transform: none;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.download-btn:hover,
.download-btn:focus,
.button:hover,
.button:focus {
  background: var(--pink);
  border-color: var(--pink);
  color: var(--navy);
  transform: none;
}
.insight-link {
  color: var(--navy);
  font-weight: 620;
  text-decoration-color: var(--pink);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
  transition: text-decoration-thickness 150ms ease;
}
.insight-link:hover,
.insight-link:focus { text-decoration-thickness: 2px; }

.hero {
  min-height: clamp(39rem, 76vh, 48rem);
  justify-content: flex-start;
  padding: clamp(8rem, 15vw, 12rem) 0 clamp(5.5rem, 9vw, 8rem);
  background: var(--navy);
  color: var(--white);
  text-align: left;
}
.hero .container { position: relative; margin: 0 auto; }
.hero h1 {
  max-width: 11ch;
  margin: 0 0 clamp(1.4rem, 3vw, 2.25rem);
  margin-left: -0.04em;
  font-size: clamp(3rem, 5.3vw, 4.75rem);
  font-weight: 570;
  letter-spacing: -0.025em;
  line-height: 0.94;
  word-spacing: 0;
}
.hero-subtitle {
  max-width: 57ch;
  margin: 0 0 2.25rem;
  font-family: var(--font-body);
  font-size: clamp(1.08rem, 1.8vw, 1.34rem);
  font-weight: 430;
  line-height: 1.55;
  opacity: 0.92;
}
.hero-actions { justify-content: flex-start; gap: 1.1rem 1.6rem; }
.hero-actions .download-btn { background: var(--white); border-color: var(--white); color: var(--navy); }
.hero-actions .download-btn:hover,
.hero-actions .download-btn:focus { background: var(--pink); border-color: var(--pink); }
.hero-actions .insight-link { color: var(--white); }
.hero-dot {
  position: absolute;
  right: var(--container-padding);
  bottom: clamp(3.25rem, 7vw, 5.5rem);
  display: block;
  width: clamp(4.5rem, 6vw, 5.5rem);
  height: auto;
  pointer-events: none;
  transform-origin: center;
  user-select: none;
  will-change: transform;
}

.intro-section,
.services-section,
.about-section,
.testimonials-section,
.book-section { padding: var(--space-section) 0; }
.book-section { margin: 0; background: var(--paper); }
.problem-section { background: var(--paper); }
.intro-headline,
.services-title {
  max-width: 18ch;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  font-size: clamp(2.25rem, 4.6vw, 4rem);
  font-weight: 560;
  line-height: 1.02;
}
.editorial-problem-copy { max-width: 50rem; }
.editorial-problem-copy > p,
.intro-block p,
.about-content-inner p,
.book-description {
  max-width: 64ch;
  font-size: clamp(1.02rem, 1.5vw, 1.15rem);
  line-height: 1.68;
  opacity: 1;
}
.services-section { background: var(--navy); color: var(--white); }
.services-section .section-label { color: var(--pink); }
.services-section .insight-link { color: var(--white); }

.partners-section { padding: clamp(3.5rem, 7vw, 6rem) 0; text-align: left; }
.partners-label { margin-bottom: 2.25rem; }
.partner-grid { gap: clamp(1.2rem, 3vw, 3.5rem); align-items: center; }
.partner-logo { min-height: 4.5rem; aspect-ratio: auto; border-radius: 0; background: transparent; }
.partner-logo img { max-width: 100%; max-height: 3.5rem; }
.partner-logo--wide img { max-width: 100%; max-height: 2.7rem; }

.testimonials-section { background: var(--paper); }
.testimonials-section > .container > .section-label { text-align: left; }
.testimonials-grid { gap: 0; border-top: 1px solid var(--line); }
.testimonial {
  min-height: 27rem;
  padding: clamp(1.75rem, 3vw, 2.75rem);
  background: transparent;
  border-right: 1px solid var(--line);
  border-radius: 0;
  color: var(--navy);
  transition: none;
}
.testimonial:first-child { padding-left: 0; }
.testimonial:nth-child(3) { padding-right: 0; border-right: 0; }
.testimonial:hover { transform: none; }
.quote-mark { display: none; }
.testimonial p { font-size: clamp(1rem, 1.55vw, 1.15rem); line-height: 1.65; opacity: 1; }
.testimonial-author strong { color: var(--navy); }
.testimonial-author span { opacity: 0.7; }
footer.testimonial-author {
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--navy);
}

.about-profile-layout { grid-template-columns: minmax(17rem, .88fr) minmax(0, 1.22fr); gap: clamp(2.5rem, 6vw, 6rem); }
.about-profile-image { aspect-ratio: 4 / 5; background: var(--paper); }
.about-profile-image img { object-position: 50% 59%; filter: saturate(.88) contrast(1.02); }
.about-content-inner { max-width: 43rem; }
.about-content-inner .section-label { margin-bottom: 1.5rem; }

.book-content { grid-template-columns: 1.05fr .95fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.book-text { padding: clamp(2.5rem, 6vw, 5rem) clamp(2rem, 6vw, 6rem) clamp(2.5rem, 6vw, 5rem) 0; }
.book-title { font-size: clamp(2.25rem, 4vw, 3.7rem); font-weight: 560; }
.book-text .download-btn { background: var(--navy); border-color: var(--navy); color: var(--white); }
.book-text .download-btn:hover,
.book-text .download-btn:focus { background: var(--pink); border-color: var(--pink); color: var(--navy); }
.book-image {
  min-height: 26rem;
  padding: clamp(2rem, 5vw, 4rem);
  background: var(--white);
  border-left: 1px solid var(--line);
  border-radius: 0;
}

footer { padding: clamp(4.5rem, 9vw, 7.5rem) 0 3rem; border-top: 1px solid var(--line-on-dark); }
.footer-content { gap: clamp(2.5rem, 6vw, 5rem); }
.footer-top { align-items: flex-end; }
.footer-tagline-wrapper { max-width: 43rem; }
.footer-tagline { font-size: clamp(2rem, 4.2vw, 3.7rem); font-weight: 540; line-height: 1.02; }
.footer-cta { background: transparent; color: var(--white); }
.footer-nav { margin: 0; padding: 1.4rem 0; border-top: 1px solid var(--line-on-dark); border-bottom: 1px solid var(--line-on-dark); }
.footer-nav a { font-size: 0.91rem; text-decoration-color: var(--pink); }
.footer-bottom { flex-direction: row; align-items: flex-end; justify-content: space-between; }
.contact-details a { font-family: var(--font-body); font-size: 1rem; font-weight: 520; }
.site-wordmark--footer img { width: clamp(8.5rem, 15vw, 12.5rem); }

/* How We Help */
.products-page,
.testimonials-page,
.quiz-page { padding-top: 0; }
.products-hero,
.testimonials-hero {
  padding: clamp(6rem, 11vw, 10rem) 0 clamp(5rem, 9vw, 8rem);
  background: var(--navy);
}
.products-hero .centered-content,
.testimonials-hero .centered-content { max-width: 61rem; }
.products-hero h1,
.testimonials-hero h1 {
  max-width: 10ch;
  margin: 0 0 2rem;
  font-size: clamp(3rem, 5.3vw, 4.75rem);
  font-weight: 560;
  letter-spacing: -0.025em;
  line-height: .94;
}
.products-hero p,
.testimonials-hero p { max-width: 58ch; font-size: clamp(1.08rem, 1.8vw, 1.28rem); line-height: 1.58; }
.products-hero p + p { margin-top: .85rem; }
.products-list { padding: var(--space-section) 0; }
.products-list .centered-content { max-width: none; }
.products-list article {
  display: grid;
  grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.4fr);
  column-gap: clamp(2.5rem, 8vw, 8rem);
  padding: clamp(2.75rem, 6vw, 5.25rem) 0;
  border-color: var(--line);
}
.products-list article > * { grid-column: 2; }
.products-list article > .section-label,
.products-list article > h2 { grid-column: 1; }
.products-list article > .section-label { grid-row: 1; align-self: start; color: var(--pink); }
.products-list article > h2 { grid-row: 2 / span 6; align-self: start; margin: .5rem 0 0; font-size: clamp(2rem, 3.6vw, 3.35rem); font-weight: 560; line-height: 1; }
.products-list h3 { margin: 1.75rem 0 .4rem; font-family: var(--font-body); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.products-list p { max-width: 62ch; }
.products-contact { display: block !important; margin-top: 4rem; padding: clamp(2rem, 5vw, 4rem) !important; background: var(--paper); border: 0 !important; }
.products-contact > * { grid-column: auto !important; }
.products-contact h2 { margin: 0 0 1rem !important; font-size: clamp(2rem, 4vw, 3.4rem) !important; }
.products-contact .download-btn { margin-top: 1.5rem; background: var(--navy); border-color: var(--navy); color: var(--white); }

/* Testimonials */
.testimonials-library { padding: var(--space-section) 0; }
.testimonials-library .centered-content { max-width: none; }
.testimonials-library h2 { margin: clamp(4rem, 8vw, 7rem) 0 1.5rem; font-size: clamp(2.15rem, 4vw, 3.5rem); font-weight: 560; }
.testimonial-grid { gap: 0; border-top: 1px solid var(--line); }
.testimonial-card { min-height: 25rem; padding: clamp(1.8rem, 4vw, 3.2rem); background: transparent; border-top: 0; border-right: 1px solid var(--line); }
.testimonial-card:nth-child(even),
.testimonial-card:last-child { border-right: 0; }
.testimonial-card:nth-child(odd) { padding-left: 0; }
.testimonial-card blockquote p { font-size: clamp(1.08rem, 1.65vw, 1.28rem); line-height: 1.6; }
.testimonial-card .testimonial-author {
  margin-top: var(--space-md);
  padding: 0;
  background: transparent;
  border: 0;
  color: rgba(10, 25, 41, 0.76);
  font-size: .94rem;
  font-style: normal;
  line-height: 1.35;
}
.testimonial-card .testimonial-author strong {
  margin: 0 0 .25rem;
}
.testimonial-card .testimonial-author span {
  display: block;
  margin: 0;
  line-height: 1.35;
}
@media (max-width: 48rem) {
  .testimonial-card .testimonial-author {
    margin-top: var(--space-sm);
  }
}

/* Brand Check */
.quiz-page { background: var(--paper); font-family: var(--font-body); }
.quiz-shell { width: min(100%, 74rem); padding-top: clamp(3rem, 7vw, 6rem); }
.quiz-card {
  min-height: min(42rem, calc(100vh - 11rem));
  gap: clamp(1rem, 2.5vw, 1.6rem);
  padding: clamp(2rem, 6vw, 5rem);
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}
.quiz-card--intro { min-height: min(38rem, calc(100vh - 11rem)); }
.quiz-card h1 { font-size: clamp(2.75rem, 6vw, 4.75rem); font-weight: 560; line-height: .96; }
.quiz-card h2 { font-weight: 560; }
.question-title { font-size: clamp(1.85rem, 4vw, 3.15rem); font-weight: 560; line-height: 1.02; }
.progress-track { height: 3px; border-radius: 0; }
.answer-option { padding: 1.05rem 1.15rem; background: var(--white); }
.answer-option:has(input:checked) { background: rgba(255,31,164,.08); }
.button--primary { background: var(--navy); border-color: var(--navy); color: var(--white); }
.button--secondary { background: transparent; border-color: var(--line); color: var(--navy); }
.result-panel,
.email-form,
.cta-panel { border-color: var(--line); border-radius: 0; }
.result-panel { padding: clamp(1.5rem, 4vw, 2.75rem); }
.result-panel h2 { font-size: clamp(2rem, 4vw, 3.2rem); }

:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }

@media (max-width: 62rem) {
  .site-wordmark img { width: 6.65rem; }
  .partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .testimonials-grid { grid-template-columns: 1fr; }
  .testimonial,
  .testimonial:first-child,
  .testimonial:nth-child(3) { min-height: 0; padding: 2.2rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .about-profile-layout { gap: 3.5rem; }
  .hero-dot { width: clamp(3.75rem, 7vw, 4.5rem); }
}

@media (max-width: 48rem) {
  .hero { min-height: 0; padding-top: 9.5rem; padding-bottom: 8rem; }
  .hero h1 { font-size: clamp(2.75rem, 12vw, 3.125rem); }
  .hero-dot { right: var(--container-padding); bottom: -5.25rem; width: clamp(2.875rem, 13vw, 3.5rem); }
  .partner-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .about-profile-layout { grid-template-columns: 1fr; }
  .about-profile-image { width: min(100%, 23rem); max-width: none; }
  .book-content { grid-template-columns: 1fr; }
  .book-text { padding: 3rem 0; }
  .book-image { min-height: 19rem; border-top: 1px solid var(--line); border-left: 0; }
  .footer-top { align-items: flex-start; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .products-page,
  .testimonials-page,
  .quiz-page { padding-top: 0; }
  .products-hero,
  .testimonials-hero { padding-top: 5rem; }
  .products-list article { display: block; }
  .products-list article > h2 { margin: .75rem 0 1.75rem; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .testimonial-card,
  .testimonial-card:nth-child(odd),
  .testimonial-card:nth-child(even),
  .testimonial-card:last-child { min-height: 0; padding: 2.3rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .quiz-shell { padding-inline: 1rem; }
  .quiz-card { min-height: calc(100vh - 8rem); padding: 1.5rem; }
  .quiz-card--intro { min-height: 0; }
  .quiz-card--intro .actions { margin-top: 2rem; }
}

@media (max-width: 40rem) {
  .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 28rem) {
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-actions .download-btn { width: 100%; }
  .footer-cta { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
  .hero-dot { transform: none !important; will-change: auto; }
}


/* Source layer: concept-a4.css */
/* Concept A.4: Controlled Correction and Header Comparison, v0.11.4-a. */
:root {
  --magenta-accessible: #A80068;
  --title-space: clamp(5.5rem, 9vw, 8rem);
  --testimonial-name: #D0007F;
  --header-height: 5rem;
  --header-transition: 220ms;
}

html { scroll-padding-top: calc(var(--header-height) + 1rem); }

/* Keep sticky positioning viewport-bound without introducing visible overflow. */
body { overflow-x: visible; }

:where(main [id], footer[id]) {
  scroll-margin-top: calc(var(--header-height) + 1rem);
}

/* Compact, solid sticky navigation with a quiet scrolled distinction. */
header {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: var(--header-height);
  background: var(--white);
  border-bottom: 1px solid transparent;
  box-shadow: none;
  transition:
    border-color var(--header-transition) ease,
    box-shadow var(--header-transition) ease;
}

header.scrolled {
  border-bottom-color: rgba(10, 25, 41, 0.14);
  box-shadow: 0 0.3rem 1rem rgba(10, 25, 41, 0.045);
}

header .header-content { min-height: var(--header-height); }

header nav a,
.mobile-menu a,
.footer-nav a,
.contact-details a,
main a:not(.button):not(.download-btn) {
  transition:
    color 180ms ease,
    text-decoration-color 180ms ease,
    text-decoration-thickness 180ms ease;
}

.site-wordmark:focus-visible,
.hamburger:focus-visible {
  outline: 3px solid var(--pink);
  outline-offset: 4px;
}

/* The optional comparison keeps both marks inside the existing brand-link footprint. */
header .site-wordmark--orb-mode {
  position: relative;
  width: 7.25rem;
  height: 2.11rem;
}

header .site-wordmark--orb-mode .header-wordmark,
header .site-wordmark--orb-mode .header-orb {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  transition: opacity var(--header-transition) ease;
}

header .site-wordmark--orb-mode .header-wordmark {
  width: 7.25rem;
  transform: translateY(-50%);
  opacity: 1;
}

header .site-wordmark--orb-mode .header-orb {
  width: 2.11rem;
  height: 2.11rem;
  transform: translateY(-50%) rotate(var(--header-orb-rotation, 0deg));
  opacity: 0;
  pointer-events: none;
}

header .site-wordmark--orb-mode.is-orb-visible .header-wordmark { opacity: 0; }
header .site-wordmark--orb-mode.is-orb-visible .header-orb { opacity: 1; }

body.header-orb-review .hero-dot { display: none; }
body.header-orb-review .hero-dot + .hero-descriptor { margin-top: 0; }

.hero-descriptor {
  max-width: 48rem;
  margin: 0 0 clamp(1.3rem, 2.4vw, 1.8rem);
  color: var(--pink);
  font-family: var(--font-body);
  font-size: clamp(0.82rem, 1.25vw, 0.98rem);
  font-weight: 590;
  letter-spacing: 0.025em;
  line-height: 1.45;
}

.hero-dot + .hero-descriptor {
  margin-top: calc(-1 * clamp(0.35rem, 0.7vw, 0.55rem));
}

.services-introduction {
  max-width: 48rem;
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.02rem, 1.65vw, 1.18rem);
  line-height: 1.62;
}

.partners-label {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--navy);
}

.partners-label::before {
  width: 1.5rem;
  height: 1px;
  flex: 0 0 auto;
  background: var(--pink);
  content: "";
}

/* Reintroduced original brand punctuation, kept subordinate to the quotation. */
.testimonials-section .quote-mark {
  display: block;
  width: clamp(3rem, 5vw, 4rem);
  height: auto;
  margin: 0 0 clamp(1rem, 2vw, 1.4rem);
}

.testimonial-card > .quote-mark {
  display: block;
  width: clamp(1.5rem, 2.2vw, 2rem);
  height: auto;
  margin: 0 0 1rem;
}

.site-wordmark--footer img { filter: none; }

.content-page,
.insights-page,
.faqs-page,
.quiz-page,
.products-page,
.testimonials-page { padding-top: 0; }

/* Links remain navy and recognisable on light backgrounds. */
main a:not(.button):not(.download-btn) {
  color: var(--navy);
  text-decoration-color: var(--pink);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}
main a:not(.button):not(.download-btn):hover,
main a:not(.button):not(.download-btn):focus { color: var(--navy); text-decoration-thickness: 2px; }
.services-section a.insight-link { color: var(--white); }
.article-hero a { color: var(--white); }

/* One quiet section-label system. */
main .section-label {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--navy);
}
main .section-label::before {
  width: 1.5rem;
  height: 1px;
  flex: 0 0 auto;
  background: var(--pink);
  content: "";
}
.services-section .section-label,
.content-hero .section-label,
.faq-hero .section-label,
.article-hero .section-label { color: var(--pink); }
.services-section .section-label::before,
.content-hero .section-label::before,
.faq-hero .section-label::before,
.article-hero .section-label::before { display: none; }
.partners-label { color: var(--pink); }
.products-list article > .section-label {
  display: block;
  color: var(--pink);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.products-list article > .section-label::before { display: none; }

/* One secondary-page title system. */
.content-hero,
.insights-hero,
.faq-hero,
.products-hero,
.testimonials-hero,
.article-hero {
  padding: var(--title-space) 0;
  background: var(--navy);
  color: var(--white);
}
.content-hero h1,
.insights-hero h1,
.faq-hero h1,
.products-hero h1,
.testimonials-hero h1,
.article-hero h1,
.quiz-intro-title {
  max-width: none;
  margin: 0 0 2rem;
  font-family: var(--font-display);
  font-size: clamp(3rem, 5.3vw, 4.75rem);
  font-weight: 560;
  letter-spacing: -0.025em;
  line-height: 0.96;
}
.content-hero p:not(.section-label),
.insights-hero p:last-child,
.faq-hero p:last-child,
.products-hero p,
.testimonials-hero p,
.article-intro {
  max-width: 58ch;
  font-family: var(--font-body);
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  line-height: 1.58;
}
.article { padding: 0; }
.article-heading { max-width: 61rem; margin: 0; }
.article-content { padding: var(--space-section) 0; }
.article-body { max-width: 46rem; }
.article-body h2 { font-family: var(--font-display); font-weight: 560; }

/* Homepage: identity first, proposition before action. */
.hero {
  min-height: clamp(39rem, 76vh, 47rem);
  padding: clamp(6.5rem, 11vw, 9rem) 0;
}
.hero .container { position: static; }
.hero-dot {
  position: static;
  display: block;
  width: clamp(3.5rem, 4.4vw, 4rem);
  height: auto;
  margin: 0 0 clamp(1.8rem, 3vw, 2.5rem);
  pointer-events: none;
  transform-origin: center;
  user-select: none;
  will-change: transform;
}
.hero h1 { margin-bottom: clamp(1.4rem, 3vw, 2.25rem); }
.hero-subtitle { margin-bottom: 0; }

.about-profile-layout { align-items: start; }
.about-content-inner p { max-width: 62ch; }

.book-content {
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  border: 0;
}
.book-text { padding: 0; }
.book-image { min-height: 24rem; border: 0; background: var(--white); }

/* Testimonials remain readable as the library grows. */
@media (min-width: 48.01rem) {
  .testimonials-hero h1 { max-width: none; white-space: nowrap; }
  .testimonial-grid > .testimonial-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    padding-inline: clamp(2rem, 6vw, 5rem);
    border-right: 0;
  }
  .testimonial-grid > .testimonial-card:last-child:nth-child(odd) blockquote,
  .testimonial-grid > .testimonial-card:last-child:nth-child(odd) .testimonial-author {
    width: min(100%, 48rem);
    margin-inline: auto;
  }
}
.testimonial-author strong {
  color: var(--magenta-accessible);
  font-weight: 650;
}
.testimonial-author { color: rgba(10, 25, 41, 0.76); }

/* Supporting pages use the same restrained editorial language. */
.insight-card {
  padding: clamp(1.5rem, 4vw, 2.5rem) 0;
  background: transparent;
  border-top: 1px solid var(--line);
}
.insight-card h2 a,
.insight-card h3 a { color: var(--navy); text-decoration: none; }
.insight-card h2 a:hover,
.insight-card h3 a:hover { color: var(--navy); text-decoration: underline; text-decoration-color: var(--pink); }
.faq-crosslink,
.content-cta { border-top: 1px solid var(--line); }
.book-cover { padding: clamp(1.5rem, 4vw, 3rem); background: var(--paper); border-radius: 0; }

/* Brand Check opening, questions and result share the same system. */
.quiz-page { background: var(--white); }
.quiz-shell { width: 100%; padding: 0; }
.quiz-card {
  width: min(calc(100% - (2 * var(--container-padding))), 70rem);
  min-height: 0;
  margin: clamp(3rem, 7vw, 6rem) auto;
  padding: clamp(2rem, 6vw, 5rem);
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: none;
}
.quiz-card--intro {
  width: 100%;
  min-height: clamp(36rem, 69vh, 44rem);
  margin: 0;
  padding: var(--title-space) max(var(--container-padding), calc((100vw - var(--container-max)) / 2 + var(--container-padding)));
  justify-content: center;
  background: var(--navy);
  border: 0;
  color: var(--white);
}
.quiz-intro-title span { display: block; }
.quiz-card .quiz-intro-title {
  max-width: none;
  font-size: clamp(3rem, 5.3vw, 4.75rem);
  line-height: 0.96;
}
.quiz-card--intro > p:not(.time-note) { max-width: 58ch; font-size: clamp(1.08rem, 1.8vw, 1.28rem); }
.quiz-card--intro .button--primary { background: var(--white); border-color: var(--white); color: var(--navy); }
.quiz-card--intro .button--primary:hover,
.quiz-card--intro .button--primary:focus { background: var(--pink); border-color: var(--pink); }

.quiz-card--result {
  gap: 0;
  max-width: 70rem;
  background: var(--white);
  border: 0;
}
.quiz-card--result h1 { max-width: 16ch; margin: 0 0 1.5rem; font-weight: 560; }
.result-label,
.secondary-insight .eyebrow { color: var(--magenta-accessible); }
.result-summary { max-width: 52rem; font-size: clamp(1.18rem, 2vw, 1.42rem) !important; line-height: 1.55 !important; }
.result-recommendation { max-width: 52rem; margin-top: clamp(2rem, 5vw, 3.5rem); }
.result-recommendation h2,
.secondary-insight h2,
.result-contact h2 { margin: 0 0 0.8rem; font-family: var(--font-display); font-weight: 560; }
.result-recommendation p,
.secondary-insight p { max-width: 52rem; }
.result-divider { width: 100%; margin: clamp(2.5rem, 6vw, 4.5rem) 0; border: 0; border-top: 1px solid var(--pink); }
.secondary-insight { max-width: 52rem; }
.result-contact { margin-top: clamp(3rem, 7vw, 5rem); padding: clamp(2rem, 5vw, 3.5rem); background: var(--paper); }
.result-contact-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; }
.result-review-link {
  padding: 0.4rem 0;
  background: transparent;
  border: 0;
  color: var(--navy);
  font: inherit;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-color: var(--pink);
  text-underline-offset: 0.28em;
  cursor: pointer;
}
.result-review-link:hover { text-decoration-thickness: 2px; }
.result-review-link:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }
.answer-option:has(input:checked) { border-color: var(--pink); background: rgba(255, 31, 164, 0.08); }

@media (max-width: 48rem) {
  :root { --header-height: 4.5rem; }

  header,
  header .header-content { min-height: var(--header-height); }

  header .site-wordmark--orb-mode {
    width: 6.65rem;
    height: 1.93rem;
  }

  header .site-wordmark--orb-mode .header-wordmark { width: 6.65rem; }
  header .site-wordmark--orb-mode .header-orb { width: 1.93rem; height: 1.93rem; }
  .mobile-menu { padding-top: calc(var(--header-height) + 1.5rem); }

  .content-hero,
  .insights-hero,
  .faq-hero,
  .products-hero,
  .testimonials-hero,
  .article-hero { padding: clamp(4rem, 15vw, 6rem) 0; }
  .hero { min-height: 0; padding: 6.5rem 0; }
  .hero-dot { width: clamp(2.625rem, 12vw, 3rem); margin-bottom: 1.6rem; }
  .hero-descriptor { max-width: 21rem; margin-bottom: 1.2rem; font-size: 0.8rem; }
  .hero-dot + .hero-descriptor { margin-top: -0.25rem; }
  .services-introduction { margin-bottom: 2.5rem; }
  .testimonials-section .quote-mark { width: clamp(2.25rem, 10vw, 2.75rem); }
  .testimonial-card > .quote-mark { width: 1.65rem; }
  .book-content { gap: 2rem; }
  .book-image { min-height: 18rem; border: 0; }
  .testimonial-grid > .testimonial-card:last-child:nth-child(odd) blockquote,
  .testimonial-grid > .testimonial-card:last-child:nth-child(odd) .testimonial-author { width: auto; margin-inline: 0; }
  .quiz-card { width: calc(100% - 2rem); margin: 2rem auto; padding: 1.5rem; }
  .quiz-card--intro { width: 100%; min-height: 36rem; margin: 0; padding: 5rem var(--container-padding); }
  .result-contact-actions { align-items: stretch; flex-direction: column; }
}

@media (max-width: 28rem) {
  .quiz-intro-title span { display: inline; }
  .quiz-intro-title span:first-child::after { content: " "; }
}

@media (prefers-reduced-motion: reduce) {
  header,
  header nav a::after,
  header nav a,
  .mobile-menu a,
  .footer-nav a,
  .contact-details a,
  main a:not(.button):not(.download-btn),
  header .site-wordmark--orb-mode .header-wordmark,
  header .site-wordmark--orb-mode .header-orb {
    transition-duration: 1ms !important;
  }

  .hero-dot { transform: none !important; will-change: auto; }
  header .site-wordmark--orb-mode .header-orb {
    transform: translateY(-50%) !important;
  }
}

/* Final component colour override follows the inherited A.2 component rules. */
.testimonial-author strong { color: var(--testimonial-name); }


/* Source layer: concept-a5.css */
/* Concept A.5: Refined Header Orb Comparison, v0.11.5-a. */
:root {
  --header-orb-transition: 480ms;
  --header-orb-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --header-orb-size: clamp(2.4rem, 3vw, 2.75rem);
}

/* The fixed brand link is unchanged. Outer wrappers crossfade; the inner orb rotates. */
header .site-wordmark--orb-mode .header-asset {
  position: absolute;
  top: 50%;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  transform: translateY(-50%) scale(1);
  transform-origin: left center;
  transition:
    opacity var(--header-orb-transition) var(--header-orb-easing),
    transform var(--header-orb-transition) var(--header-orb-easing);
}

header .site-wordmark--orb-mode .header-wordmark-wrapper {
  width: 7.25rem;
  opacity: 1;
}

header .site-wordmark--orb-mode .header-orb-wrapper {
  width: var(--header-orb-size);
  height: var(--header-orb-size);
  opacity: 0;
  transform: translateY(-50%) scale(0.985);
  pointer-events: none;
}

header .site-wordmark--orb-mode .header-wordmark,
header .site-wordmark--orb-mode .header-orb {
  position: static;
  top: auto;
  left: auto;
  display: block;
  opacity: 1;
  transition: none;
}

header .site-wordmark--orb-mode .header-wordmark {
  width: 7.25rem;
  transform: none;
}

header .site-wordmark--orb-mode .header-orb {
  width: 100%;
  height: 100%;
  transform: rotate(var(--orb-angle, 0deg));
  transform-origin: center;
}

header .site-wordmark--orb-mode.is-orb-visible .header-wordmark-wrapper {
  opacity: 0;
  transform: translateY(-50%) scale(0.985);
}

header .site-wordmark--orb-mode.is-orb-visible .header-orb-wrapper {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

@media (max-width: 48rem) {
  header .site-wordmark--orb-mode .header-wordmark-wrapper,
  header .site-wordmark--orb-mode .header-wordmark { width: 6.65rem; }
}

@media (prefers-reduced-motion: reduce) {
  header .site-wordmark--orb-mode .header-asset {
    transform: translateY(-50%) !important;
    transition: opacity 80ms linear !important;
  }

  header .site-wordmark--orb-mode .header-orb {
    transform: rotate(0deg) !important;
  }
}


/* Source layer: concept-a6.css */
/* Concept A.6: Refined Motion and Visual Detail, v0.11.6-a. */
:root {
  --brand-transition-progress: 0;
  --orb-angle: 0deg;
  --dark-divider-magenta: rgba(255, 31, 164, 0.32);
}

/* Opacity and scale are linked directly to scroll position, not a timed state. */
header .site-wordmark--orb-mode .header-asset { transition: none; }

header .site-wordmark--orb-mode .header-wordmark-wrapper {
  opacity: calc(1 - var(--brand-transition-progress));
  transform: translateY(-50%) scale(var(--wordmark-scale, 1));
}

header .site-wordmark--orb-mode .header-orb-wrapper {
  opacity: var(--brand-transition-progress);
  transform: translateY(-50%) scale(var(--orb-scale, 0.99));
}

body.header-changing .hero-dot { display: none; }
body.header-changing .hero-dot + .hero-descriptor { margin-top: 0; }

/* Controlled wrapping support without forced line breaks. */
:where(main, footer) :where(h1, h2, h3),
.faq-item summary,
.question-title { text-wrap: balance; }

:where(main, footer) p,
.faq-item p,
.testimonial blockquote p,
.testimonial-card blockquote p { text-wrap: pretty; }

/* Reduce the combined pause before Brand experience by roughly one third. */
.services-section { padding-bottom: clamp(3.25rem, 6vw, 5.5rem); }
.partners-section { padding-top: clamp(2.25rem, 4vw, 3.75rem); }

/* Quotation marks remain present but subordinate to the words. */
.testimonials-section .quote-mark {
  width: clamp(2.25rem, 3vw, 2.875rem);
  margin-bottom: clamp(0.75rem, 1.4vw, 1rem);
}

.testimonial-card > .quote-mark {
  width: 1.375rem;
  margin-bottom: 0.75rem;
}

@media (max-width: 48rem) {
  .testimonials-section .quote-mark { width: clamp(1.875rem, 9vw, 2.375rem); margin-bottom: 0.75rem; }
  .testimonial-card > .quote-mark { width: 1.25rem; margin-bottom: 0.65rem; }
  .services-section { padding-bottom: 3.25rem; }
  .partners-section { padding-top: 2.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  header .site-wordmark--orb-mode .header-asset {
    transform: translateY(-50%) scale(1) !important;
    transition: none !important;
  }

  header .site-wordmark--orb-mode .header-orb { transform: rotate(0deg) !important; }
}


/* Source layer: concept-a7.css */
/* Concept A.7: Final Brand Asset and Policy Pass, v0.11.7-a. */

/* The approved live-site orb is always shown as one unchanged square image. */
.hero-dot,
header .site-wordmark--orb-mode .header-orb {
  aspect-ratio: 1;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  filter: none;
  clip-path: none;
  -webkit-mask: none;
  mask: none;
}

.services-more {
  margin-top: clamp(2rem, 4vw, 3rem);
}

.footer-legal-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.35rem;
  margin: 0;
  font-family: var(--font-body);
}

.footer-legal-nav a {
  color: var(--white);
  font-size: 0.875rem;
  line-height: 1.5;
  text-decoration-line: underline;
  text-decoration-color: var(--pink);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.24rem;
}

.footer-legal-nav a:hover,
.footer-legal-nav a:focus {
  color: var(--white);
  text-decoration-thickness: 2px;
}

.footer-company-disclosure {
  max-width: 50rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 450;
  line-height: 1.6;
}

@media (max-width: 48rem) {
  .services-more { margin-top: 2rem; }
  .footer-legal-nav { gap: 0.7rem 1rem; }
  .footer-legal-nav a,
  .footer-company-disclosure { font-size: 0.875rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-dot,
  header .site-wordmark--orb-mode .header-orb {
    transform: none !important;
    transition: none !important;
  }
}


/* Source layer: concept-a8.css */
/* Concept One: Final Candidate, v0.11.8-a. */

/* The source order and the visible footer hierarchy are intentionally identical. */
.footer-content {
  gap: 0;
}

.footer-top {
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.footer-contact-primary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem clamp(1.5rem, 4vw, 3rem);
  margin: 0 0 clamp(2rem, 4vw, 3rem);
  font-style: normal;
}

.footer-contact-primary a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--white);
  font-family: var(--font-body);
  font-size: clamp(1.125rem, 1.7vw, 1.25rem);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  text-underline-offset: 0.24rem;
}

.footer-contact-primary a:hover {
  color: var(--pink);
  text-decoration: underline;
}

.footer-contact-primary a:focus-visible {
  color: var(--white);
  outline: 0.1875rem solid var(--pink);
  outline-offset: 0.25rem;
}

.footer-nav {
  order: initial;
  margin: 0;
}

.footer-brand {
  margin: clamp(2.25rem, 4vw, 3.5rem) 0 clamp(1.75rem, 3vw, 2.5rem);
}

.footer-brand .site-wordmark--footer {
  display: inline-flex;
  align-items: center;
}

.footer-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.65rem clamp(1.25rem, 3vw, 2rem);
  margin: 0 0 0.9rem;
}

.footer-copyright {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}

.footer-legal-nav {
  gap: 0.5rem 1.25rem;
}

.footer-legal-nav a {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.875rem;
  text-decoration: none;
}

.footer-legal-nav a:hover {
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: var(--pink);
  text-decoration-thickness: 0.0625rem;
}

.footer-legal-nav a:focus-visible {
  color: var(--white);
  outline: 0.1875rem solid var(--pink);
  outline-offset: 0.25rem;
  text-decoration: none;
}

.footer-back-to-top {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.75rem;
  margin-left: auto;
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}

.footer-back-to-top:hover {
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: var(--pink);
  text-decoration-thickness: 0.0625rem;
}

.footer-back-to-top:focus-visible {
  color: var(--white);
  outline: 0.1875rem solid var(--pink);
  outline-offset: 0.25rem;
  text-decoration: none;
}

.footer-company-disclosure {
  max-width: 58rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.78125rem;
  font-weight: 430;
  line-height: 1.55;
}

/* One stable slot system gives each client equal space and optical priority. */
.partner-grid {
  gap: clamp(1rem, 2.5vw, 2rem);
}

.partner-logo {
  --logo-optical-scale: 1;
  --logo-max-width: 8rem;
  --logo-max-height: 2.75rem;
  box-sizing: border-box;
  width: 100%;
  height: 5rem;
  min-height: 0;
  padding: 1rem;
  aspect-ratio: auto;
  overflow: hidden;
}

.partner-logo img,
.partner-logo--wide img {
  display: block;
  width: auto;
  height: auto;
  max-width: var(--logo-max-width);
  max-height: var(--logo-max-height);
  object-fit: contain;
  transform: scale(var(--logo-optical-scale));
  transform-origin: center;
}

.partner-logo--ucas {
  --logo-optical-scale: 0.96;
  --logo-max-width: 5rem;
}

/* Wider source-canvas adjustments compensate only for proven internal whitespace. */
.partner-logo--cr { --logo-optical-scale: 1.55; }
.partner-logo--rca { --logo-optical-scale: 1.08; }
.partner-logo--bentley { --logo-optical-scale: 1.25; }
.partner-logo--ids { --logo-optical-scale: 1.15; }
.partner-logo--voda { --logo-optical-scale: 1.12; }
.partner-logo--gatwick { --logo-optical-scale: 1.2; }
.partner-logo--pwc { --logo-optical-scale: 1.05; }

@media (max-width: 48rem) {
  .footer-top {
    margin-bottom: 1.5rem;
  }

  .footer-contact-primary {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    margin-bottom: 2rem;
  }

  .footer-contact-primary a {
    width: fit-content;
    min-height: 2.75rem;
    font-size: 1.125rem;
  }

  .footer-brand {
    margin: 2.25rem 0 1.75rem;
  }

  .footer-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.55rem;
  }

  .footer-back-to-top {
    margin-left: 0;
  }

  .footer-legal-nav {
    gap: 0.55rem 1rem;
  }

  .footer-legal-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
  }

  .footer-company-disclosure {
    font-size: 0.78125rem;
  }

  .partner-logo {
    height: 4.25rem;
    padding: 0.75rem;
  }

  .partner-logo img,
  .partner-logo--wide img {
    max-width: min(var(--logo-max-width), 6.5rem);
    max-height: min(var(--logo-max-height), 2.25rem);
  }
}

@media (max-width: 28rem) {
  .footer-legal-nav {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* Non-visual context for otherwise generic link text. */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
