/* Warm-neutral revision after the green direction was rejected as cold. */
:root {
  --charcoal: #302e2b;
  --charcoal-panel: #454039;
  --paper: #f6edde;
  --ink: #292724;
  --bronze: #5b4939;
  --muted: #584c42;
  --line: #c5b7a2;
  --sand: #e5d8c5;
  --taupe: #d5c3ac;
  --light-muted: #e3d6c3;
  --dark-line: #b5a38c;
}
::selection { background: var(--charcoal); color: var(--paper); }
h1, h2, h3 { letter-spacing: -.018em; }
h1, h2 { color: var(--charcoal); }
.site-header {
  background: var(--paper);
  border-bottom-color: var(--line);
}
.brand { color: var(--charcoal); }
.brand span { font-size: 9px; letter-spacing: .17em; }
.nav { gap: 27px; }
.nav .nav-cta { border-color: var(--charcoal); color: var(--charcoal); }
.nav .nav-cta:hover { background: var(--charcoal); color: var(--paper); }
.menu-toggle { border-color: var(--charcoal); color: var(--charcoal); }
.hero { background: var(--taupe); color: var(--charcoal); }
.hero-copy { padding-top: 68px; padding-bottom: 68px; }
.hero h1 {
  color: var(--charcoal);
  font-size: clamp(42px, 3.85vw, 59px);
  line-height: 1.18;
  letter-spacing: -.015em;
}
.hero-copy .eyebrow {
  color: var(--bronze);
  border-top: none;
  padding-top: 0;
  max-width: 470px;
  letter-spacing: .17em;
}
.hero-copy p { color: var(--ink); line-height: 1.8; }
.hero-image { margin: 28px 28px 28px 0; }
.hero-image > img { filter: none; object-position: 55% center; }
.image-label {
  background: var(--paper);
  color: var(--ink);
  padding: 17px 21px;
  border-top: none;
}
.image-label span:last-child { color: var(--bronze); }
.button {
  background: transparent;
  color: var(--charcoal);
  border-color: var(--charcoal);
  transition: background .2s, color .2s;
}
.button:hover { background: var(--charcoal); color: var(--paper); transform: none; }
.dark .button {
  background: transparent;
  border-color: var(--paper);
  color: var(--paper);
}
.dark .button:hover {
  background: var(--paper);
  color: var(--charcoal);
}
.hero .text-link { border-color: var(--bronze); }
.context-strip { background: var(--paper); border-color: var(--line); }
.context-strip span { color: var(--bronze); }
.service-card { border-top-color: var(--line); }
.number { color: var(--bronze); letter-spacing: .08em; font-size: 13px; }
.dark { background: var(--charcoal); color: var(--paper); }
.dark h1, .dark h2, .dark h3 { color: var(--paper); }
.dark .eyebrow, .dark .muted, .dark p { color: var(--light-muted); }
.domain-tabs, .domain-tab { border-color: var(--dark-line); }
.domain-tab { color: var(--light-muted); }
.domain-tab:hover { background: var(--charcoal-panel); }
.domain-tab[aria-selected=true] { color: var(--paper); }
.domain-tab[aria-selected=true] span:first-child {
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
}
.domain-tab span:last-child { color: var(--light-muted); }
.domain-panel { background: var(--charcoal-panel); border-top: 1px solid var(--dark-line); }
.domain-note { color: var(--light-muted); border-color: var(--dark-line); }
.sample-report { background: var(--sand); }
.report-sheet { border-top-color: var(--charcoal); }
.report-sheet .report-brand { color: var(--charcoal); }
.founder { background: var(--sand); }
.cta-band { background: var(--taupe); color: var(--ink); }
.cta-inner h2 { color: var(--charcoal); font-size: clamp(35px,3.6vw,52px); }
.cta-band .eyebrow, .cta-inner p { color: var(--muted); }
.site-footer { background: var(--ink); color: var(--paper); }
.site-footer .brand { color: var(--paper); }
.footer-top p, .footer-bottom { color: var(--light-muted); }
.footer-bottom { border-color: var(--dark-line); }
.page-intro .eyebrow {
  border-top: none;
  padding-top: 0;
  width: fit-content;
  min-width: 180px;
}
.page-intro h1 { font-size: clamp(42px,4.4vw,64px); line-height: 1.14; }
.filter { border-color: var(--muted); color: var(--charcoal); }
.filter:hover { background: var(--sand); }
.filter[aria-pressed=true] { background: var(--charcoal); border-color: var(--charcoal); color: var(--paper); }
.audit-options { margin: 28px 0 10px; }
.audit-options article { border-top: 1px solid var(--line); padding: 24px 0 6px; }
.audit-options h3 { font-size: 28px; margin-bottom: 12px; }
.audit-options p { color: var(--muted); font-size: 15px; max-width: 650px; }
.case-enquiries { padding: 0 0 100px; }
.case-enquiry-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px; }
.case-enquiry-card { border-top: 1px solid var(--line); padding-top: 30px; }
.case-enquiry-card h2 { font-size: clamp(38px,3.8vw,56px); margin: 0 0 48px; }
.case-enquiry-card .eyebrow { margin-bottom: 22px; }
.case-enquiry-note { color: var(--muted); font-size: 12px; margin: 45px 0 0; }
@media(max-width:760px){
  .case-enquiry-grid { grid-template-columns: 1fr; gap: 35px; }
  .case-enquiry-card h2 { margin-bottom: 22px; }
  .case-enquiry-card .eyebrow { margin-bottom: 15px; }
  .case-enquiries { padding-bottom: 60px; }
}
.dark :focus-visible, .site-footer :focus-visible {
  outline: 2px solid var(--paper);
  outline-offset: 5px;
}
@media(min-width:1600px) {
  .hero { max-width: none; }
  .hero-copy { padding-left: max(6%,calc((100vw - 1320px) / 2)); }
  .hero-image { margin-right: max(28px,calc((100vw - 1440px) / 2)); }
}
@media(max-width:1100px) { .nav { background: var(--paper); } }
@media(max-width:760px) {
  .hero-copy { padding: 40px 6% 38px; }
  .hero h1 { font-size: clamp(36px,9.5vw,48px); }
  .hero-image { margin: 0 6% 30px; }
  .hero-copy .eyebrow { margin-bottom: 24px; }
  .page-intro h1 { font-size: 43px; }
  .image-label { padding: 14px; }
}
