:root {
  --ink: #000c1a;
  --paper: #f4f2ec;
  --paper-2: #e8e7dd;
  --white: #ffffff;
  --copper: #b07c3c;
  --orange: #b07c3c;
  --gold: #b07c3c;
  --olive: #98a356;
  --olive-dark: #5d682f;
  --line: rgba(0, 12, 26, .2);
}

html,body { overflow-x: hidden; }
body { font-size: clamp(17px, 1.05vw, 19px); }
.site-header { min-height: 126px; background: var(--ink); color: var(--white); border-color: rgba(255,255,255,.22); }
.brand { width: 235px; height: 110px; max-width: 48vw; }
.brand img { transform: none; }
.menu-button { color: inherit; font-size: 1rem; }
.primary-nav a { font-size: .9rem; letter-spacing: .065em; }
.site-header .button-small { background: var(--orange); border-color: var(--orange); color: var(--ink); }
.site-header .button-small:hover,.site-header .button-small:focus-visible { background: var(--olive); border-color: var(--olive); color: var(--ink); }
.site-header a:focus-visible,.site-header button:focus-visible { outline: 3px solid var(--olive); outline-offset: 4px; }
.button { font-size: .88rem; }
.button:hover,.button:focus-visible { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.primary-nav [aria-current="page"] { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: .18rem; text-underline-offset: .45rem; }
.eyebrow { color: var(--ink); font-size: .85rem; line-height: 1.4; letter-spacing: .13em; }
.eyebrow::before { content: ""; display: inline-block; width: 1.5rem; height: .18rem; margin-right: .65rem; background: var(--orange); vertical-align: .25em; }
h1 em { color: var(--olive-dark); }
.plate-label { color: #ffffff; font-size: .78rem; }
.workflow-heading { position: absolute; z-index: 2; top: clamp(2rem, 5vw, 5rem); left: clamp(2rem, 5vw, 5rem); right: clamp(2rem, 5vw, 5rem); }
.workflow-heading .plate-label { position: static; margin: 0 0 .65rem; color: var(--orange); font-size: .88rem; font-weight: 800; letter-spacing: .12em; }
.workflow-note { margin: 0; color: #ffffff; font-size: 1rem; line-height: 1.45; }
.hero-system li { border-top-color: rgba(255,255,255,.34); }
.hero-system li span { color: var(--orange); font-size: .8rem; font-weight: 800; }
.hero-system strong { font-size: 1.16rem; }
.hero-system small { color: #f1f1ed; font-size: .94rem; line-height: 1.45; }
.problem-band { color: var(--ink); }
.problem-band h2 { color: var(--ink); }
.service-grid article>span,.principle-grid article>span { color: var(--olive-dark); font-size: .82rem; font-weight: 800; }
.service-grid a { font-size: .88rem; }
.process .eyebrow,.enquiry-cta .eyebrow { color: inherit; }
.process .eyebrow::before { background: var(--orange); }
.process li span { color: #f1f1ed; }
.enquiry-cta { color: var(--ink); }
.enquiry-cta .eyebrow::before { background: var(--ink); }
.enquiry-form label { font-size: .94rem; letter-spacing: .02em; }
.site-footer nav a,.site-footer>div a { color: #ffffff; font-size: .92rem; }
.site-footer p,.site-footer a { color: #ffffff; }
.case-study-visual figcaption { color: #ddddda; font-size: .84rem; }
.page-hero h1 { font-size: clamp(3rem, 5.5vw, 6.2rem); }
.audience-grid article { min-height: 22rem; }

@media (max-width: 560px) {
  body { font-size: 17px; }
  .site-header { min-height: 110px; }
  .brand { width: 200px; height: 93px; max-width: 62vw; }
  .hero,.hero-copy { width: 100%; min-width: 0; }
  .hero-copy { padding-left: 20px; padding-right: 20px; }
  h1 { max-width: 100%; font-size: clamp(2.7rem, 12vw, 3.7rem); overflow-wrap: normal; }
  .primary-nav a { font-size: 1rem; }
  .hero-system strong { font-size: 1.12rem; }
  .hero-system small { font-size: 1rem; }
  .plate-label { font-size: .82rem; }
  .workflow-heading { top: 2rem; left: 1.25rem; right: 1.25rem; }
  .workflow-heading .plate-label { font-size: .86rem; }
  .workflow-note { font-size: 1rem; }
}

@media (max-width: 900px) {
  .primary-nav a { display: flex; align-items: center; min-height: 44px; }
  .audience-grid article { min-height: 18rem; }
}

/* RC18: workflow clearance, serif problem statements, LWS green accent, readable supporting type. */
.hero-system {
  justify-content: flex-start;
  gap: clamp(2rem, 4vw, 3.5rem);
}
.workflow-heading {
  position: relative;
  inset: auto;
  flex: 0 0 auto;
}
.hero-system ol {
  margin-top: auto;
}
.problem-band {
  border-top: .65rem solid var(--olive-dark);
}
.problem-band > p {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 1.65vw, 1.55rem);
  line-height: 1.42;
  letter-spacing: -.015em;
}
.problem-band > p:first-child {
  border-left: .3rem solid var(--olive-dark);
  padding-left: 1rem;
}
.problem-band > p:last-child {
  border-right: .3rem solid var(--olive-dark);
  padding-right: 1rem;
}
.primary-nav a { font-size: 1rem; }
.button { font-size: 1rem; }
.eyebrow { font-size: .9rem; }
.workflow-heading .plate-label { font-size: 1rem; }
.workflow-note { font-size: 1.08rem; }
.hero-system li span { font-size: .9rem; }
.hero-system strong { font-size: 1.22rem; }
.hero-system small { font-size: 1rem; }
.service-grid article > span,
.principle-grid article > span { font-size: .9rem; }
.service-grid a { font-size: 1rem; }
.case-study-visual figcaption { font-size: .9rem; }
.enquiry-form label { font-size: .9rem; }
.site-footer nav a,
.site-footer > div a { font-size: .9rem; }

@media (max-width: 900px) {
  .hero-system { min-height: auto; }
  .problem-band > p:last-child {
    margin-left: 0;
    border-right: 0;
    border-left: .3rem solid var(--olive-dark);
    padding-right: 0;
    padding-left: 1rem;
  }
}

@media (max-width: 560px) {
  .hero-system {
    min-height: auto;
    gap: 2rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .workflow-heading { inset: auto; }
  .hero-system ol { margin-top: 0; }
  .problem-band > p { font-size: 1.2rem; }
}