/* Expert witness signature — load last, after education.css.
   Poppins is the single face, with restrained positive character spacing.
   Gold is decorative or a navy-text action surface, never light-page copy. */
:root {
  --gold: #b89a63;
  --teal: var(--royal-navy);
  --accent: var(--royal-navy);
  --dew-ui-font: "Poppins", Arial, sans-serif;
  --dew-heading-font: var(--dew-ui-font);
  --wp--preset--color--gold: var(--gold);
  --wp--preset--color--teal: var(--royal-navy);
  --wp--preset--color--brass: var(--royal-navy);
}

body {
  font-family: var(--dew-ui-font);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.005em;
}
/* One calm hierarchy; component selectors beat the earlier tight tracking. */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--dew-heading-font);
  font-style: normal;
  letter-spacing: 0.02em;
}
h1, h2 {
  font-weight: 400;
}
h3, h4, h5, h6 { font-weight: 500; letter-spacing: 0.015em; }
.hero h1, .hero-v2 h1, .page-intro h1, .section-block h2,
.closing-cta h2, .terms-section h2, .qualification-row h2,
.education-detail > h2, .education-context h2 {
  letter-spacing: 0.02em;
}
.hero-v2 h1 { font-size: clamp(40px, 4.7vw, 66px); line-height: 1.12; }
.section-block h2 { font-size: clamp(32px, 3.1vw, 42px); line-height: 1.22; }
/* Parent-owned poster/player styles handle cover geometry and playback. */
.hero.hero-v2 .hero-visual { width: 100%; max-width: 560px; }
em { font-style: normal; }
h1 em, h2 em, .hero h1 em, .hero-v2 h1 em, .page-intro h1 em {
  color: var(--royal-navy);
  font-style: normal;
}
.closing-cta h2 em { color: var(--light-blue); }
.brand > .service-wordmark {
  font-family: var(--dew-heading-font);
  font-weight: 500;
  letter-spacing: 0.015em;
}
.site-header { backdrop-filter: none; }

/* Forms use the same face; keep labels and controls readable, not widely spaced. */
.request-panel h2, .request-panel h2 em, .large-form-section h2,
.dew-enquiry :is(h1, h2, h3, h4), dialog h2 {
  font-family: var(--dew-ui-font);
  font-style: normal;
  letter-spacing: 0.02em;
}
input, textarea, select, button,
.dew-enquiry div.wpforms-container-full,
.dew-enquiry div.wpforms-container-full :is(input, textarea, select, button, label),
.enquiry-form, .full-form, .button, .wp-block-button__link {
  font-family: var(--dew-ui-font);
  font-style: normal;
  letter-spacing: 0.01em;
}
button, .button, .wp-block-button__link, .site-header nav a, .dew-menu a {
  font-weight: 500;
  letter-spacing: 0.02em;
}
.home-jump-nav a, summary, label, .eyebrow, .hero-kicker,
.brand > .brand-endorsement, .case-category, .qualification-row > span,
.hero-index, .scroll-cue, .location-graphic > span,
.portrait-caption > span:last-child, .about-portrait p,
.education-item-meta, .education-detail .education-meta,
.education-controls .education-position {
  letter-spacing: 0.02em;
}
.eyebrow, .hero-kicker, .case-category, .qualification-row > span,
.scroll-cue, .location-graphic > span { text-transform: none; }
.top-strip, .top-strip > span, .top-strip a,
.panel-phone a, .big-phone, .dew-contact-grid .big-phone,
.dew-footer-contacts .big-phone, .dew-footer-contacts .email-address {
  letter-spacing: 0.01em;
}
.hero-subtitle, .hero-v2 .hero-subtitle, .section-block blockquote,
.section-block cite, .hero-profile span, .hero-profile small {
  font-style: normal;
  letter-spacing: 0.005em;
}
.stats strong, .credential-focus strong, .fee-list strong,
.hero-clinic strong, .hero-profile strong, .professional-link strong {
  font-weight: 500;
  letter-spacing: 0.015em;
}
/* Remove the remaining legacy serif assignments without changing their geometry. */
.logo-rail > .institution, .logo-rail small, .service-icon {
  font-family: var(--dew-ui-font);
  font-style: normal;
  letter-spacing: 0.015em;
}
.logo-rail > .institution { font-weight: 500; }
.education-item-title { letter-spacing: 0.015em; }
.education-controls button {
  font-family: var(--dew-ui-font);
  letter-spacing: 0.02em;
}

/* One accent: hairline rules, status marks and selected navigation bars. */
.brand-dot { color: var(--gold); }
.status-dot, .tiny-rule, .hero-v2 h1 em::after,
.section-block > .eyebrow::before, .page-intro::after,
.site-header nav > a:not(.nav-contact)::after { background: var(--gold); }
.dew-menu .current-menu-item > a { box-shadow: 0 2px 0 var(--gold); }
.request-panel { border-top-color: var(--gold); }
.section-block blockquote, .notice, .address-box { border-left-color: var(--gold); }
.text-link, .sitemap-list .text-link { color: var(--royal-navy); border-color: var(--gold); }
::selection { background: var(--light-blue); color: var(--navy); }

/* Navy on gold is 5.33:1; gold on white is only 2.68:1.
   Legacy saved brass/teal copy therefore stays royal navy. The gold editor
   swatch is for surfaces; text using that swatch receives a readable fallback. */
.has-teal-color, .has-brass-color { color: var(--royal-navy) !important; }
.has-teal-background-color, .has-brass-background-color {
  background-color: var(--royal-navy) !important;
}
.has-gold-color { color: var(--navy) !important; }
.has-gold-background-color { background-color: var(--gold) !important; color: var(--navy) !important; }
.has-gold-background-color > :is(p, h1, h2, h3, h4, a) { color: var(--navy) !important; }

/* Primary actions share one flat, restrained surface. Keep secondary outlines. */
.button:not(.outline), .closing-cta .button, .request-panel .button {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy);
  font-weight: 500;
}
.button:not(.outline):hover, .closing-cta .button:hover, .request-panel .button:hover {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
  transform: none;
}
.closing-cta .button:hover, .request-panel .button:hover {
  background: var(--royal-navy);
  border-color: var(--gold);
}
.button.outline { background: transparent; color: var(--royal-navy); }
.site-header nav .nav-contact, .dew-menu .nav-contact {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--navy);
}
.dew-menu .nav-contact a { color: var(--navy); }
.site-header nav .nav-contact:hover, .dew-menu .nav-contact:hover {
  background: var(--navy) !important;
  border-color: var(--navy) !important;
  color: var(--white);
}
.dew-menu .nav-contact:hover a { color: var(--white); }
:is(.dew-enquiry, .request-panel .dew-enquiry) div.wpforms-container-full button[type="submit"] {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--navy) !important;
}
:is(.dew-enquiry, .request-panel .dew-enquiry) div.wpforms-container-full button[type="submit"]:hover {
  background: var(--navy) !important;
  border-color: var(--navy) !important;
  color: var(--white) !important;
}
.request-panel .dew-enquiry div.wpforms-container-full button[type="submit"]:hover {
  background: var(--royal-navy) !important;
  border-color: var(--gold) !important;
}
a.mobile-request, .no-sidebar a.mobile-request,
html:not(.js-navigation) a.mobile-request {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy);
  box-shadow: 0 4px 16px #142b491a;
}
a.mobile-request:hover, .no-sidebar a.mobile-request:hover,
html:not(.js-navigation) a.mobile-request:hover {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}

/* Optional page index supports both direct links and Gutenberg paragraphs.
   Use class="container home-jump-nav" on the parent homepage navigation. */
.home-jump-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
  margin-block: 24px 0;
  padding-block: 8px 16px;
  border-bottom: 1px solid var(--line);
}
.home-jump-nav > p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
  margin: 0;
}
.home-jump-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
  color: var(--navy);
  font-size: 13px;
  line-height: 1.7;
  text-decoration: underline;
  text-decoration-color: var(--line);
  text-underline-offset: 6px;
}
.home-jump-nav a:hover, .home-jump-nav a[aria-current] { text-decoration-color: var(--gold); }

/* Homepage only: alternate reading passages and concise explanatory cards.
   No image/video dimensions, sticky positioning or launcher visibility change. */
.home-layout .home-story { min-width: 0; }
.home-story > .section-block { padding-block: clamp(48px, 5vw, 72px); }
/* Existing html scroll-padding already clears the sticky header for anchors. */
.home-story .section-block > .lead { max-width: 58ch; line-height: 1.75; }
.home-story .section-block > p { max-width: 72ch; }
.home-reading-block {
  width: min(100%, 72ch);
  margin-top: 28px;
  padding: 20px 24px;
  background: var(--cream);
  border-left: 1px solid var(--gold);
}
.home-reading-block p { margin-top: 16px; font-size: 15px; line-height: 1.85; }
.home-reading-block p:first-child { margin-top: 0; }
.home-story .credential-focus { margin-top: 32px; padding-block: 24px; }
.home-story .credential-focus strong { letter-spacing: 0.015em; }

.home-story .legal-context {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 16px;
  margin-top: 28px;
}
.home-story .legal-context article {
  display: block;
  min-width: 0;
  padding: 20px;
  background: var(--white);
  border: 1px solid var(--line);
  border-top-color: var(--gold);
}
.home-story .legal-context article > span,
.home-story .legal-context article > p:first-child { color: var(--royal-navy); }
.home-story .legal-context h3 { margin-top: 10px; font-size: 16px; line-height: 1.55; }
.home-story .legal-context p { margin-top: 10px; font-size: 15px; line-height: 1.8; }
.home-story .section-block > .context-note {
  margin-top: 24px;
  color: var(--slate);
  font-size: 14px;
  line-height: 1.85;
}
.home-story .section-block > .context-note + .context-note { margin-top: 10px; }

.home-story :is(.expertise-list, .report-definitions) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}
.home-story :is(.expertise-list, .report-definitions) article {
  min-width: 0;
  padding: 22px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-top-color: var(--gold);
}
.home-story .expertise-list article {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 12px;
}
.home-story .expertise-list article > :first-child {
  color: var(--royal-navy);
  font-size: 12px;
  line-height: 2;
}
.home-story .expertise-list article > div { min-width: 0; }
/* These are scope explanations, not links: omit the old decorative arrow. */
.home-story .expertise-list article > :is(span, p):last-child { display: none; }
.home-story :is(.expertise-list, .report-definitions) h3 {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 0.015em;
}
.home-story :is(.expertise-list, .report-definitions) p {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.85;
}
.home-story .expertise-list article > p:first-child { margin: 0; font-size: 12px; }

.home-story .publications article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) max-content;
  gap: 12px 20px;
  padding-block: 26px;
}
.home-story .publications .pub-year { margin: 0; color: var(--royal-navy); }
.home-story .publications .pub-label {
  align-self: start;
  margin: 0;
  border-radius: 0;
  padding: 3px 8px;
  font-size: 11px;
  line-height: 1.6;
}
.home-story .faq-list summary { min-height: 44px; }
.home-story .faq-list details[open] {
  padding-inline: 20px;
  background: var(--cream);
  border-left: 2px solid var(--gold);
}
.home-story .faq-list details[open] p { max-width: 68ch; }

@media (max-width: 900px) {
  .hero-v2 h1 { font-size: clamp(38px, 6.6vw, 58px); }
}
@media (max-width: 620px) {
  .hero-v2 h1 { font-size: clamp(36px, 9.4vw, 48px); letter-spacing: 0.02em; }
  .section-block h2 { font-size: clamp(30px, 8vw, 36px); }
  .home-story > .section-block { padding-block: 44px; }
  .home-reading-block { padding: 18px; margin-top: 24px; }
  .home-story .legal-context,
  .home-story :is(.expertise-list, .report-definitions) { grid-template-columns: minmax(0, 1fr); }
  .home-story :is(.legal-context, .expertise-list, .report-definitions) article { padding: 20px; }
  .home-story .publications article { grid-template-columns: 42px minmax(0, 1fr); gap: 10px 16px; }
  .home-story .publications .pub-label { grid-column: 2; justify-self: start; white-space: normal; }
  .home-story .faq-list details[open] { padding-inline: 16px; }
  .home-jump-nav, .home-jump-nav > p { column-gap: 20px; }
}

/* Education uses the same single accent; navy provides the essential state contrast. */
.education-item[aria-pressed="true"], .education-item.is-selected{border-color:var(--navy);box-shadow:inset 0 -3px var(--gold)}
.education-controls button:hover:not(:disabled){border-color:var(--navy)}
.education-item:focus-visible, .education-controls button:focus-visible, .education-player summary:focus-visible{outline-color:var(--navy)}
.education-context{border-left-color:var(--gold)}
.hero-location-note{max-width:56ch;margin-top:16px;font-size:14px;line-height:1.8;color:var(--slate)}
.home-story .context-note p{max-width:72ch;margin-top:16px;font-size:14px;line-height:1.85}
