/* Original layout for Blake J. Noah & Co. Reference direction: Booz Allen's
   image-led corporate hierarchy. No vendor CSS, webfonts or brand assets. */
:root {
  --ink: #111418;
  --paper: #f7f6f2;
  --white: #ffffff;
  --soft: #edede8;
  --muted: #555b60;
  --accent: #5a2a2f;
  --line: #d6d7d4;
  --gutter: clamp(24px, 4.4vw, 104px);
  --header: 96px;
  --font: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--header) + 90px); -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font); font-size: 17px; line-height: 1.6; }
body.menu-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1.2em; }
p:last-child { margin-bottom: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 700; line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(50px, 5.6vw, 88px); }
h2 { font-size: clamp(32px, 3.5vw, 52px); }
h3 { font-size: 25px; }
ul, ol { margin-top: 0; }
figure { margin: 0; }
img { max-width: 100%; display: block; }
button { border-radius: 0; }
:focus-visible { outline: 3px solid #a16754; outline-offset: 5px; }
main:focus { outline: 0; }
::selection { color: var(--white); background: var(--accent); }
.shell { width: 100%; padding-inline: var(--gutter); }
.skip-link { position: fixed; top: -120px; left: 20px; z-index: 300; padding: 12px 20px; background: var(--white); color: var(--ink); }
.skip-link:focus { top: 12px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 23px; border: 1px solid var(--accent); border-radius: 0; background: var(--accent); color: var(--white); font-size: 15px; font-weight: 700; line-height: 1.4; text-align: center; transition: background .18s ease, color .18s ease; }
.button:hover { background: #341d20; border-color: #341d20; }
.button-light { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.button-light:hover { background: var(--white); border-color: var(--white); color: var(--accent); }
.text-link { display: inline-block; font-size: 16px; line-height: 1.55; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; padding-block: 7px; }
.text-link:hover { color: var(--accent); text-decoration-thickness: 2px; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 30px; margin-top: 30px; }
.eyebrow, .role { margin: 0 0 20px; font-size: 14px; line-height: 1.45; font-weight: 400; letter-spacing: .015em; }
.scope-note, .small-note, .experience-note { color: var(--muted); font-size: 14px; line-height: 1.65; }

/* A single compact, persistent corporate masthead. */
.site-header { position: sticky; top: 0; z-index: 100; background: var(--ink); color: var(--white); }
.masthead { min-height: var(--header); display: flex; align-items: center; gap: 30px; }
.wordmark { flex: 0 0 auto; display: inline-flex; flex-direction: column; gap: 5px; line-height: 1; padding-block: 9px; }
.wordmark-name { font-size: 24px; font-weight: 700; letter-spacing: .018em; font-kerning: normal; font-variant-ligatures: none; white-space: nowrap; }
.wordmark-name span { white-space: nowrap; }
.wordmark-sub { font-size: 11px; font-weight: 400; letter-spacing: .03em; line-height: 1.5; }
.primary-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
.nav-link, .nav-group > summary { font-size: 15px; font-weight: 600; line-height: 1.3; padding: 18px 0; min-height: 48px; border-bottom: 2px solid transparent; }
.nav-link:hover, .nav-link[aria-current], .nav-group[open] > summary, .nav-group.is-active > summary { border-bottom-color: var(--white); }
.nav-group > summary { list-style: none; display: flex; align-items: center; gap: 8px; cursor: pointer; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-chevron { width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); margin-top: -4px; transition: transform .18s; }
.nav-group[open] .nav-chevron { transform: rotate(225deg); margin-top: 3px; }
.header-contact { background: transparent; border: 1px solid #898c8e; color: var(--white); padding-inline: 19px; white-space: nowrap; font-size: 14px; }
.header-contact:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.menu-toggle, .mobile-enquiry { display: none; }
.mega-menu { position: absolute; top: 100%; left: 0; width: 100%; background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--line); box-shadow: 0 12px 18px #00000015; }
.mega-inner { display: grid; grid-template-columns: .8fr 2fr; gap: 70px; padding-block: 40px 45px; }
.mega-intro h2 { font-size: 34px; margin-bottom: 15px; }
.mega-intro p { font-size: 16px; max-width: 35ch; color: var(--muted); }
.mega-links { display: grid; grid-template-columns: 1fr 1fr; column-gap: 45px; row-gap: 8px; }
.mega-links a { display: flex; flex-direction: column; gap: 9px; align-items: flex-start; padding: 17px 0 21px; }
.mega-links a:hover .mega-title { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }
.mega-links a[aria-current] .mega-title { color: var(--accent); }
.mega-title { font-size: 21px; line-height: 1.25; font-weight: 700; letter-spacing: -.025em; }
.mega-description { font-size: 15px; line-height: 1.5; color: var(--muted); }

/* Full-bleed photography, with no rounded cards or ornamental graphics. */
.hero-photo, .editorial-image { width: 100%; height: 100%; position: relative; background: #40474a; overflow: hidden; }
.hero-photo img, .editorial-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.editorial-image { aspect-ratio: 3 / 2; }
.photo-fallback { display: none; color: #e8e9e6; padding: 28px; font-size: 17px; line-height: 1.5; position: absolute; bottom: 0; left: 0; right: 0; }
.photo-fallback small { display: block; font-size: 12px; color: #c6c9c8; margin-top: 4px; }
.image-unavailable img { visibility: hidden; }
.image-unavailable .photo-fallback { display: block; }
.image-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 12px 18px; color: white; background: #111418b3; font-size: 12px; }
.home-hero { position: relative; display: flex; align-items: center; color: var(--white); background: var(--ink); min-height: 680px; height: calc(100svh - var(--header)); max-height: 860px; overflow: hidden; }
.home-hero-image { position: absolute; inset: 0; }
.home-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,14,18,.83) 0%, rgba(9,14,18,.65) 40%, rgba(9,14,18,.17) 100%); }
.home-hero-image .photo-fallback { left: auto; right: var(--gutter); bottom: 66px; width: 290px; text-align: right; z-index: 1; opacity: .75; }
.home-hero-content { position: relative; z-index: 2; padding-top: 45px; padding-bottom: 110px; }
.hero-brandline { margin: 0 0 26px; font-size: 16px; line-height: 1.5; }
.home-hero h1 { font-size: clamp(65px, 7.1vw, 120px); line-height: .98; letter-spacing: -.055em; text-wrap: initial; max-width: 1180px; }
.hero-lead { max-width: 620px; font-size: 20px; line-height: 1.6; margin-top: 30px; color: #f1f2ef; }
.home-hero .actions { margin-top: 32px; }
.hero-text-link { color: var(--white); font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 6px; padding: 13px 0; }

/* Homepage: text-only capabilities and the retained client feature. */
.home-capabilities { padding-block: 90px 50px; background: var(--white); }
.section-heading { display: flex; justify-content: space-between; gap: 32px; align-items: baseline; margin-bottom: 44px; }
.section-heading h2 { font-size: clamp(40px, 4.5vw, 66px); }
.section-heading p { font-size: 19px; max-width: 54ch; margin-bottom: 10px; }
.capability-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.capability-card { min-width: 0; display: flex; flex-direction: column; border-top: 1px solid var(--line); padding-top: 26px; }
.card-body { padding: 0; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.card-body h3 { font-size: clamp(24px,2.15vw,34px); line-height: 1.13; min-height: 2.3em; letter-spacing: -.035em; margin-bottom: 17px; }
.card-body h3 a:hover { color: var(--accent); }
.card-body p { font-size: 16px; line-height: 1.6; max-width: 39ch; flex: 1; }
.card-body .text-link { margin-top: 2px; }
.execution-line { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; margin-top: 62px; padding-top: 28px; border-top: 1px solid var(--line); }
.execution-line h3 { font-size: 21px; line-height: 1.35; }
.execution-line p { font-size: 16px; }
.client-feature { display: grid; grid-template-columns: 50% 50%; background: var(--soft); }
.client-feature-image { min-height: 510px; }
.client-feature-copy { padding: 64px var(--gutter) 64px 64px; }
.client-feature-copy h2 { font-size: clamp(40px,4.5vw,66px); margin-bottom: 32px; }
.client-feature-links { list-style: none; padding: 0; margin: 0 0 25px; }
.client-feature-links li { border-top: 1px solid #bfc1bd; }
.client-feature-links li:last-child { border-bottom: 1px solid #bfc1bd; }
.client-feature-links a { display: block; padding: 17px 0; font-size: 23px; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; }
.client-feature-links a:hover { color: var(--accent); }

/* A large photographic opening followed by the same four direct destinations. */
.feature-hero { background: var(--ink); color: var(--white); display: grid; grid-template-columns: 54% 46%; min-height: 480px; }
.feature-copy { padding: 66px 55px 66px var(--gutter); align-self: center; }
.feature-copy h1 { font-size: clamp(49px,4.8vw,82px); line-height: 1.02; letter-spacing: -.045em; max-width: 16ch; text-wrap: balance; }
.feature-copy .eyebrow { color: #cbcfcf; }
.feature-intro { font-size: 20px; line-height: 1.65; max-width: 51ch; margin-top: 25px; }
.feature-image { min-height: 480px; }
.feature-image .photo-fallback { text-align: right; }
.capability-nav { position: sticky; top: var(--header); z-index: 70; color: var(--ink); background: var(--white); box-shadow: 0 2px 0 #11141810; }
.capability-inner { display: flex; gap: 27px; align-items: stretch; min-height: 82px; }
.all-services { display: flex; align-items: center; font-size: 13px; line-height: 1.35; min-width: 75px; text-decoration: underline; text-underline-offset: 4px; }
.capability-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; gap: 25px; flex: 1; }
.capability-link { display: flex; align-items: center; font-size: 15px; font-weight: 700; line-height: 1.35; padding-block: 19px; border-bottom: 3px solid transparent; }
.capability-link:hover, .capability-link[aria-current] { border-bottom-color: var(--accent); color: var(--accent); }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 24px; padding-bottom: 24px; font-size: 12px; line-height: 1.6; color: var(--muted); }
.breadcrumb a:hover { color: var(--ink); text-decoration: underline; }
.directory-opening { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding-top: 45px; padding-bottom: 60px; }
.directory-opening p { font-size: 18px; margin-bottom: 14px; max-width: 58ch; }
.service-panel { display: grid; grid-template-columns: 50% 50%; min-height: 465px; background: var(--white); }
.service-panel.is-reversed { background: var(--soft); }
.service-panel.is-reversed .service-panel-image { order: 2; }
.service-panel-image { min-height: 440px; }
.service-panel-copy { padding: 60px var(--gutter) 60px 65px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.service-panel.is-reversed .service-panel-copy { padding-left: var(--gutter); padding-right: 65px; }
.service-panel-copy h2 { font-size: clamp(33px,3.5vw,54px); margin-bottom: 23px; }
.service-panel-copy h2 a:hover { color: var(--accent); }
.service-panel-copy p { max-width: 52ch; font-size: 16px; }
.service-panel-copy .panel-intro { font-size: 20px; }
.service-panel-copy .button { margin-top: 12px; }
.situation-section { padding-top: 45px; padding-bottom: 76px; }
.situation-section > h2 { margin-bottom: 42px; }
.situation-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 50px; }
.situation-columns h3 { font-size: 26px; line-height: 1.2; letter-spacing: -.025em; margin-bottom: 19px; }
.situation-columns p { font-size: 17px; line-height: 1.7; max-width: 47ch; }
.approach-section { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; background: var(--soft); padding-top: 72px; padding-bottom: 72px; }
.approach-section h2 { margin-bottom: 29px; font-size: clamp(32px,3.2vw,47px); }
.approach-copy > p { font-size: 19px; line-height: 1.75; max-width: 52ch; }
.approach-copy .button { margin-top: 18px; }
.report-items { list-style: none; padding: 0; margin-bottom: 23px; }
.report-items li { padding: 0 0 18px 22px; position: relative; font-size: 18px; line-height: 1.65; }
.report-items li::before { content: ""; position: absolute; left: 0; top: 12px; width: 5px; height: 5px; background: var(--accent); }
.outcome-copy .scope-note { max-width: 66ch; }
.related-services { display: grid; grid-template-columns: .85fr 1.4fr; gap: 80px; padding-top: 38px; padding-bottom: 43px; background: var(--soft); }
.related-services h2 { font-size: 24px; }
.related-services > div { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 7px 35px; }

/* Client, firm and biography pages share hierarchy, not repeated cards. */
.client-index { display: grid; grid-template-columns: 1fr 1fr; gap: 60px 95px; padding-top: 46px; padding-bottom: 90px; }
.client-index article { border-bottom: 1px solid var(--line); padding-bottom: 34px; }
.client-index h2 { font-size: clamp(30px,3vw,43px); max-width: 21ch; margin-bottom: 22px; }
.client-index p { font-size: 18px; max-width: 56ch; }
.client-index h2 a:hover { color: var(--accent); }
.client-explanation { display: grid; grid-template-columns: 1fr 1.3fr; gap: 95px; padding-top: 55px; padding-bottom: 66px; }
.client-explanation p { font-size: 21px; max-width: 56ch; }
.client-situations { background: var(--white); padding-top: 67px; padding-bottom: 70px; }
.client-situations > h2 { margin-bottom: 44px; }
.client-situations > .button { margin-top: 30px; }
.firm-overview { padding-top: 42px; padding-bottom: 52px; }
.firm-overview p { max-width: 68ch; font-size: clamp(23px,2.1vw,30px); line-height: 1.5; }
.firm-details { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; padding-top: 20px; padding-bottom: 80px; }
.firm-details h2 { font-size: clamp(30px,3.1vw,44px); margin-bottom: 26px; }
.firm-details p { font-size: 18px; max-width: 56ch; }
.firm-details .button { margin-top: 9px; }
.regional-feature { display: grid; grid-template-columns: 50% 50%; background: var(--soft); }
.regional-feature > div:first-child { min-height: 430px; }
.regional-copy { padding: 67px var(--gutter) 67px 64px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.regional-copy h2 { margin-bottom: 24px; }
.regional-copy p { max-width: 53ch; font-size: 20px; }
.region-body { display: grid; grid-template-columns: 1fr 1.3fr; gap: 95px; padding-top: 52px; padding-bottom: 78px; }
.region-body p { font-size: 19px; max-width: 60ch; }
.region-body .scope-note { margin-top: 24px; font-size: 14px; }
.biography-layout { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0,1.2fr); gap: 90px; padding-top: 28px; padding-bottom: 92px; }
.biography-photo { max-width: 430px; }
.biography-photo .portrait { aspect-ratio: 368/466; }
.biography-photo img { width: 100%; height: 100%; object-fit: cover; }
.bio-contact { padding-top: 25px; }
.bio-contact p { font-size: 14px; }
.biography-copy h1 { font-size: clamp(50px,5.8vw,86px); margin-bottom: 25px; }
.biography-copy .standfirst { font-size: clamp(24px,2.5vw,34px); line-height: 1.45; margin-bottom: 30px; letter-spacing: -.02em; }
.biography-copy > p { font-size: 18px; line-height: 1.75; max-width: 68ch; }
.bio-links { display: flex; flex-wrap: wrap; gap: 16px 38px; margin-top: 33px; }

/* Editorial, contact and utility pages. */
.page-hero { padding-top: 40px; padding-bottom: 52px; }
.page-hero h1 { max-width: 21ch; margin-bottom: 25px; }
.page-hero .copy, .hero-tagline { max-width: 62ch; font-size: 22px; line-height: 1.6; }
.page-hero.has-image { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.insights-body { padding-top: 6px; padding-bottom: 90px; }
.insights-tabs { display: flex; gap: 30px; border-bottom: 1px solid var(--line); }
.insights-tabs a { padding: 12px 0; font-size: 17px; border-bottom: 2px solid transparent; }
.insights-tabs a[aria-current] { border-bottom-color: var(--accent); font-weight: 600; }
.empty-editorial { display: grid; grid-template-columns: .65fr 1.4fr; gap: 75px; padding-block: 57px; }
.empty-editorial h2 { font-size: 34px; margin-bottom: 20px; }
.empty-editorial p { max-width: 63ch; }
.article-card { display: grid; grid-template-columns: .65fr 1.4fr; gap: 75px; padding-block: 40px; border-bottom: 1px solid var(--line); }
.article-card h2 { margin-bottom: 18px; font-size: 34px; }
.article-card .arrow { display: none; }
.article-body { max-width: 850px; margin: 0 auto; padding: 25px var(--gutter) 75px; box-sizing: content-box; }
.article-meta { display: flex; gap: 24px; flex-wrap: wrap; font-size: 14px; margin-bottom: 35px; color: var(--muted); }
.article-body h2 { font-size: 32px; margin: 35px 0 23px; }
.article-body p, .article-body li { font-size: 19px; line-height: 1.75; }
.article-body a { text-decoration: underline; overflow-wrap: anywhere; }
.related-section { background: var(--soft); padding-block: 38px; }
.related-links { display: flex; flex-wrap: wrap; gap: 30px; }
.contact-main { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; padding-top: 45px; padding-bottom: 75px; }
.contact-main h1 { margin-bottom: 25px; }
.contact-main .copy { font-size: 22px; max-width: 44ch; }
.contact-panel { padding: 36px; border: 1px solid var(--line); background: var(--white); align-self: start; }
.contact-panel h2 { font-size: 34px; }
.contact-email { display: inline-block; font-size: clamp(20px,2vw,29px); font-weight: 600; letter-spacing: -.035em; margin: 24px 0 12px; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.contact-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 25px; }
.copy-button { background: none; border: 0; padding: 12px 0; min-height: 48px; font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
.copy-status { min-height: 21px; font-size: 13px; color: var(--muted); margin-top: 18px; }
.contact-note { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; padding-top: 34px; padding-bottom: 38px; background: var(--soft); }
.contact-note:last-child { padding-bottom: 65px; }
.contact-note .lead { font-size: 27px; font-weight: 600; letter-spacing: -.025em; margin-bottom: 15px; }
.contact-note p { max-width: 58ch; }
.contact-note .eyebrow { font-size: 18px; }
.legal-body { display: grid; grid-template-columns: .55fr 1.5fr; gap: 70px; padding-top: 30px; padding-bottom: 80px; }
.legal-content { max-width: 80ch; }
.legal-content h2 { font-size: 27px; margin: 28px 0 18px; }
.legal-content p { font-size: 17px; }
.legal-content a { text-decoration: underline; text-underline-offset: 3px; }
.credits-list { list-style: none; padding: 0; }
.credits-list li { padding-bottom: 18px; }

/* A dedicated enquiry invitation, followed by a compact firm directory. */
.site-footer { background: var(--ink); color: var(--white); }
.footer-contact { border-bottom: 1px solid #3d4144; padding-block: 60px; }
.footer-invitation { display: grid; grid-template-columns: minmax(180px, .85fr) minmax(260px, 1.4fr) auto; align-items: center; gap: clamp(24px, 3vw, 70px); }
.footer-invitation h2 { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.12; }
.footer-invitation p { color: #d0d3d2; font-size: 17px; max-width: 48ch; margin: 0; }
.footer-invitation .button { white-space: nowrap; }
.footer-main { display: grid; grid-template-columns: minmax(250px, 1.5fr) minmax(225px, 1fr) minmax(160px, .7fr); gap: clamp(32px, 5.5vw, 115px); align-items: start; padding-block: 59px 65px; }
.footer-main nav { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.footer-main nav h3 { font-size: 17px; margin-bottom: 10px; letter-spacing: 0; }
.footer-main nav a { color: #d0d3d2; font-size: 15px; line-height: 1.5; }
.footer-main nav a:hover, .footer-legal a:hover { text-decoration: underline; text-underline-offset: 4px; color: var(--white); }
.footer-wordmark { display: block; font-size: 25px; font-weight: 700; letter-spacing: .018em; font-kerning: normal; font-variant-ligatures: none; line-height: 1.2; }
.footer-brandline { display: block; color: #bec3c2; font-size: 13px; margin-top: 9px; }
.footer-base { display: block; font-size: 13px; color: #bec3c2; margin-top: 20px; }
.footer-bottom { display: flex; flex-wrap: wrap; gap: 13px 32px; padding-top: 22px; padding-bottom: 25px; border-top: 1px solid #34383b; background: #090c0f; font-size: 11px; line-height: 1.6; color: #aeb4b4; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 22px; }
.draft-label { margin-left: auto; }

@media (min-width: 1850px) {
  .feature-hero { min-height: 610px; }
  .feature-image { min-height: 610px; }
  .situation-columns { gap: 100px; }
  .situation-columns p { font-size: 19px; }
  .card-body p { font-size: 18px; }
}
@media (max-width: 1200px) and (min-width: 1101px) {
  .masthead { gap: 20px; }
  .primary-nav { gap: 18px; }
  .wordmark-name { font-size: 21px; }
  .header-contact { padding-inline: 13px; font-size: 13px; }
}
@media (max-width: 1100px) {
  :root { --header: 84px; }
  .masthead { flex-wrap: wrap; justify-content: space-between; gap: 0; }
  .wordmark-name { font-size: 23px; }
  .header-contact { display: none; }
  .primary-nav { flex-basis: 100%; flex-direction: column; align-items: stretch; margin-left: 0; gap: 0; padding-block: 10px 24px; }
  .primary-nav > * { flex-shrink: 0; }
  .primary-nav > .nav-link, .nav-group > summary { display: flex; justify-content: space-between; padding-block: 16px; font-size: 20px; }
  .js .primary-nav { display: none; }
  .js .primary-nav.is-open { display: flex; position: absolute; top: 100%; left: 0; right: 0; height: calc(100dvh - var(--header)); max-height: calc(100dvh - var(--header)); overflow-y: auto; overscroll-behavior: contain; background: var(--ink); padding: 15px var(--gutter) 36px; }
  .js .menu-toggle { display: flex; align-items: center; gap: 14px; color: var(--white); background: none; border: 0; min-height: 48px; padding: 10px 0 10px 15px; font-size: 13px; }
  .menu-icon { width: 23px; height: 15px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; position: relative; }
  .menu-icon::after { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 1px; background: currentColor; }
  .menu-toggle[aria-expanded="true"] .menu-icon { height: 1px; border: 0; background: currentColor; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-icon::after { top: 0; transform: rotate(90deg); }
  .mobile-enquiry { display: inline-flex; align-self: flex-start; margin-top: 18px; background: var(--paper); border-color: var(--paper); color: var(--ink); }
  .mega-menu { position: static; box-shadow: none; border: 0; background: var(--ink); color: var(--white); }
  .mega-inner { display: block; padding: 0 0 10px; }
  .mega-intro h2, .mega-intro p { display: none; }
  .mega-intro .text-link { font-size: 13px; color: #bbc2c3; font-weight: 400; padding-block: 7px 13px; }
  .mega-links { display: flex; flex-direction: column; gap: 0; }
  .mega-links a { padding: 13px 0; gap: 4px; min-height: 48px; }
  .mega-title { font-size: 17px; line-height: 1.3; }
  .mega-description { display: none; }
  .mega-links a[aria-current] .mega-title { color: white; text-decoration: underline; text-underline-offset: 5px; }
  .mega-links a:hover .mega-title { color: white; }
  .primary-nav > .nav-link:hover, .primary-nav > .nav-link[aria-current], .nav-group > summary, .nav-group[open] > summary { border-bottom: 1px solid #44494c; }
  .capability-cards { grid-template-columns: 1fr 1fr; gap: 45px 30px; }
  .card-body h3 { font-size: 32px; min-height: 0; }
  .home-hero { min-height: 610px; }
  .home-hero h1 { font-size: clamp(64px,8.3vw,90px); }
  .home-capabilities { padding-block: 64px 40px; }
  .client-feature-copy { padding: 48px var(--gutter) 48px 40px; }
  .client-feature-links a { font-size: 21px; }
  .feature-hero { grid-template-columns: 57% 43%; }
  .feature-copy { padding-right: 32px; padding-block: 48px; }
  .feature-copy h1 { font-size: clamp(44px,5.6vw,61px); }
  .feature-intro { font-size: 18px; }
  .capability-inner { gap: 18px; }
  .capability-links { gap: 16px; }
  .capability-link { font-size: 13px; }
  .situation-columns { gap: 32px; }
  .situation-columns h3 { font-size: 23px; }
  .situation-columns p { font-size: 16px; }
  .approach-section, .related-services { gap: 50px; }
  .service-panel-copy { padding: 45px var(--gutter) 45px 38px; }
  .service-panel.is-reversed .service-panel-copy { padding-right: 38px; }
  .client-index, .client-explanation, .firm-details, .region-body { gap: 50px; }
  .biography-layout { gap: 55px; grid-template-columns: .7fr 1.3fr; }
  .contact-main { gap: 38px; }
  .contact-panel { padding: 27px; }
  .footer-main { gap: 38px; }
  .footer-invitation { grid-template-columns: minmax(150px,.75fr) minmax(240px,1.3fr); }
  .footer-invitation .button { grid-column: 2; justify-self: start; }
}
@media (max-width: 760px) {
  :root { --gutter: 25px; --header: 80px; }
  body { font-size: 16px; }
  .wordmark-name { font-size: 21px; }
  .wordmark-sub { font-size: 10px; letter-spacing: 0; }
  .menu-label { display: none; }
  .home-hero { height: auto; min-height: 680px; max-height: none; align-items: flex-start; }
  .home-hero-content { padding-top: 67px; padding-bottom: 100px; }
  .home-hero h1 { font-size: clamp(50px,8.5vw,68px); letter-spacing: -.048em; }
  .hero-brandline { font-size: 13px; margin-bottom: 24px; }
  .hero-lead { max-width: 35ch; font-size: 18px; margin-top: 27px; }
  .home-hero .actions { gap: 22px; }
  .home-hero-image::after { background: linear-gradient(90deg,rgba(9,14,18,.84),rgba(9,14,18,.51)); }
  .home-hero-image img { animation: none; object-position: 65% center; }
  .home-hero-image .photo-fallback { bottom: 15px; width: 200px; right: 10px; opacity: .45; }
  .home-hero-image .photo-fallback small { display: none; }
  .section-heading { display: block; margin-bottom: 34px; }
  .section-heading h2 { font-size: 43px; margin-bottom: 22px; }
  .section-heading p { font-size: 18px; }
  .capability-cards { gap: 35px 22px; }
  .card-body h3 { font-size: 25px; }
  .card-body p { font-size: 15px; }
  .execution-line { grid-template-columns: 1fr; gap: 10px; margin-top: 39px; padding-top: 25px; }
  .client-feature { grid-template-columns: 1fr; }
  .client-feature-image { height: 320px; min-height: 0; }
  .client-feature-copy { padding: 40px var(--gutter) 46px; }
  .client-feature-copy h2 { font-size: 43px; }
  .client-feature-links a { font-size: 23px; }
  .feature-hero { display: flex; flex-direction: column; min-height: 0; }
  .feature-copy { padding: 48px var(--gutter); width: 100%; }
  .feature-copy h1 { font-size: clamp(42px,7.4vw,58px); max-width: 18ch; }
  .feature-copy .eyebrow { font-size: 13px; }
  .feature-intro { max-width: 53ch; font-size: 19px; }
  .feature-image { min-height: 0; height: 235px; }
  .feature-image .photo-fallback { padding: 20px 25px; }
  .feature-image .photo-fallback small { font-size: 10px; }
  .capability-nav { position: static; }
  .capability-inner { flex-direction: column; gap: 0; padding-top: 15px; padding-bottom: 8px; }
  .all-services { display: inline-block; width: fit-content; padding: 8px 0; }
  .capability-links { grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .capability-link { min-height: 63px; font-size: 14px; padding-block: 13px; }
  .breadcrumb { padding-block: 21px; font-size: 11px; gap: 6px; }
  .directory-opening { grid-template-columns: 1fr; gap: 22px; padding-top: 25px; padding-bottom: 43px; }
  .directory-opening h2 { font-size: 35px; }
  .service-panel { grid-template-columns: 1fr; min-height: 0; }
  .service-panel-image { min-height: 0; height: 285px; }
  .service-panel.is-reversed .service-panel-image { order: 0; }
  .service-panel-copy, .service-panel.is-reversed .service-panel-copy { padding: 39px var(--gutter) 45px; }
  .service-panel-copy h2 { font-size: 36px; }
  .service-panel-copy p { max-width: 60ch; }
  .situation-section { padding-top: 25px; padding-bottom: 48px; }
  .situation-section > h2 { font-size: 34px; margin-bottom: 32px; }
  .situation-columns { grid-template-columns: 1fr; gap: 31px; }
  .situation-columns h3 { font-size: 25px; margin-bottom: 14px; max-width: 34ch; }
  .situation-columns p { font-size: 17px; max-width: 66ch; }
  .approach-section { grid-template-columns: 1fr; gap: 42px; padding-block: 45px; }
  .approach-section h2 { font-size: 34px; margin-bottom: 22px; }
  .approach-copy p { font-size: 18px; max-width: 65ch; }
  .report-items li { font-size: 17px; }
  .related-services { grid-template-columns: 1fr; gap: 19px; padding-block: 33px; }
  .related-services > div { flex-direction: column; gap: 7px; }
  .client-index { grid-template-columns: 1fr; gap: 38px; padding-block: 25px 55px; }
  .client-index h2 { font-size: 34px; }
  .client-explanation, .region-body { grid-template-columns: 1fr; gap: 26px; padding-block: 28px 45px; }
  .client-explanation h2, .region-body h2 { font-size: 34px; }
  .client-explanation p, .region-body p { font-size: 18px; }
  .client-situations { padding-block: 42px; }
  .client-situations > h2 { font-size: 34px; }
  .firm-overview { padding-top: 25px; padding-bottom: 40px; }
  .firm-overview p { font-size: 24px; }
  .firm-details { grid-template-columns: 1fr; gap: 45px; padding-bottom: 48px; }
  .firm-details h2 { font-size: 34px; }
  .regional-feature { grid-template-columns: 1fr; }
  .regional-feature > div:first-child { min-height: 0; height: 270px; }
  .regional-copy { padding: 40px var(--gutter) 45px; }
  .regional-copy h2 { font-size: 34px; }
  .regional-copy p { font-size: 18px; }
  .biography-layout { grid-template-columns: 1fr; gap: 38px; padding-top: 16px; padding-bottom: 52px; }
  .biography-photo { max-width: none; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 25px; }
  .bio-contact { align-self: center; padding-top: 0; }
  .bio-contact .button { font-size: 13px; padding-inline: 12px; }
  .biography-copy h1 { font-size: 50px; }
  .biography-copy .standfirst { font-size: 27px; }
  .biography-copy > p { font-size: 18px; }
  .page-hero { padding-top: 22px; padding-bottom: 37px; }
  .page-hero h1 { font-size: 48px; }
  .page-hero .copy, .hero-tagline { font-size: 20px; }
  .page-hero.has-image { grid-template-columns: 1fr; }
  .empty-editorial { grid-template-columns: 1fr; gap: 16px; padding-block: 38px; }
  .empty-editorial h2 { font-size: 30px; }
  .insights-body { padding-bottom: 35px; }
  .article-card { grid-template-columns: 1fr; gap: 15px; }
  .article-body { padding-inline: var(--gutter); max-width: none; }
  .article-body p, .article-body li { font-size: 18px; }
  .contact-main { grid-template-columns: 1fr; gap: 35px; padding-top: 22px; padding-bottom: 45px; }
  .contact-main h1 { font-size: 50px; }
  .contact-main .copy { font-size: 21px; }
  .contact-panel { padding: 25px; }
  .contact-email { font-size: 23px; }
  .contact-note { grid-template-columns: 1fr; gap: 10px; }
  .contact-note .eyebrow { margin-bottom: 0; }
  .contact-note .lead { font-size: 24px; }
  .legal-body { grid-template-columns: 1fr; gap: 14px; padding-top: 12px; padding-bottom: 45px; }
  .legal-content h2 { font-size: 26px; }
  .footer-contact { padding-block: 48px 53px; }
  .footer-invitation { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
  .footer-invitation h2 { font-size: 44px; }
  .footer-invitation p { max-width: 48ch; }
  .footer-main { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 38px 27px; padding-block: 46px 50px; }
  .footer-identity { grid-column: 1 / -1; }
  .footer-main nav { gap: 13px; }
  .footer-main nav a { font-size: 14px; }
  .footer-wordmark { font-size: 23px; }
  .footer-bottom { flex-direction: column; gap: 12px; }
  .draft-label { margin-left: 0; }
}
@media (max-width: 480px) {
  :root { --gutter: 22px; }
  .home-hero { min-height: 660px; }
  .home-hero-content { padding-top: 57px; }
  .home-hero h1 { font-size: 54px; max-width: 100%; }
  .home-hero h1 br { display: none; }
  .hero-lead { font-size: 18px; }
  .home-hero .actions { gap: 16px 25px; }
  .button { min-height: 49px; font-size: 14px; padding: 13px 20px; }
  .home-capabilities { padding-top: 46px; }
  .section-heading h2 { font-size: 40px; }
  .section-heading p { font-size: 17px; }
  .capability-cards { grid-template-columns: 1fr; gap: 40px; }
  .card-body { padding-top: 0; }
  .card-body h3 { font-size: 30px; margin-bottom: 13px; }
  .card-body p { font-size: 17px; }
  .client-feature-image { height: 245px; }
  .feature-copy h1 { font-size: 45px; }
  .feature-copy { padding-block: 39px 43px; }
  .feature-intro { font-size: 18px; }
  .feature-image { height: 210px; }
  .capability-links { gap: 0 20px; }
  .capability-link { font-size: 13px; min-height: 68px; }
  .biography-photo { grid-template-columns: 1fr; max-width: 340px; gap: 0; }
  .bio-contact { padding-top: 21px; }
  .biography-copy h1 { font-size: 46px; }
  .biography-copy .standfirst { font-size: 26px; }
  .contact-panel { padding: 23px 19px; }
  .contact-email { font-size: 22px; }
  .contact-controls { gap: 12px 20px; }
  .footer-main { gap: 36px 25px; }
}
@media (max-width: 359px) {
  :root { --gutter: 20px; }
  .wordmark-name { font-size: 19px; }
  .wordmark-sub { font-size: 9px; }
  .home-hero h1 { font-size: 46px; }
  .home-hero { min-height: 675px; }
  .feature-copy h1 { font-size: 40px; }
  .hero-brandline { font-size: 12px; }
  .hero-lead { font-size: 17px; }
  .home-hero .actions { align-items: flex-start; }
  .client-feature-links a { font-size: 21px; }
  .contact-email { font-size: 19px; }
  .page-hero h1 { font-size: 41px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .home-hero-image img { animation: none !important; transform: none !important; }
}

/* Insights library: a quiet editorial directory rather than image cards. */
.home-insights { padding-block: 65px 85px; background: var(--paper); }
.home-insights-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.home-insight-link { display:flex; flex-direction:column; padding:23px 0 10px; border-top:1px solid var(--line); min-width:0; }
.home-insight-link h3 { font-size:clamp(22px,2.1vw,30px); line-height:1.2; margin:14px 0 21px; }
.home-insight-link:hover h3 { color:var(--accent); }
.insight-category,.insight-index-meta { font-size:13px; color:var(--muted); }
.insight-cta { display:inline-block; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:5px; margin-top:auto; }
.insights-toolbar { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:15px 30px; margin:9px 0 19px; }
.insights-count { font-size:14px; color:var(--muted); margin:0; }
.insights-filter { display:none; flex-wrap:wrap; align-items:center; column-gap:25px; row-gap:10px; }
.js .insights-filter { display:flex; }
.insight-filter-button { padding:10px 0; border:0; border-bottom:2px solid transparent; color:var(--ink); background:none; font-size:15px; text-align:left; }
.insight-filter-button:hover,.insight-filter-button[aria-pressed="true"] { color:var(--accent); border-bottom-color:var(--accent); }
.insights-list { border-top:1px solid var(--line); }
.insight-list-entry { border-bottom:1px solid var(--line); }
.insight-entry-link { display:grid; grid-template-columns:minmax(135px,.45fr) minmax(0,1.3fr); gap:16px 65px; padding:32px 0 36px; align-items:start; }
.insight-index-meta { display:flex; flex-direction:column; gap:9px; padding-top:5px; }
.insight-entry-link h2 { font-size:clamp(26px,2.4vw,38px); line-height:1.18; grid-column:2; margin:0; }
.insight-entry-link p { color:#3d4245; grid-column:2; max-width:75ch; font-size:16px; }
.insight-entry-link .insight-cta { grid-column:2; }
.insight-entry-link:hover h2 { color:var(--accent); }
.insight-entry-link:focus-visible { outline-offset:0; }
.insights-back { margin-bottom:28px; }
.insights-empty-filter { margin-top:32px; }
.insight-article-hero { padding-top:55px; padding-bottom:39px; border-bottom:1px solid var(--line); }
.insight-article-hero h1 { font-size:clamp(42px,5.1vw,76px); line-height:1.05; max-width:20ch; margin-bottom:25px; }
.insight-standfirst { font-size:clamp(19px,1.8vw,24px); line-height:1.55; max-width:71ch; }
.insight-article-meta { display:flex; gap:24px; font-size:14px; color:var(--muted); margin-top:25px; }
.article-body { width:min(850px, calc(100% - 2 * var(--gutter))); max-width:850px; margin-inline:auto; padding:44px 0 70px; box-sizing:border-box; }
.article-body .article-meta { margin-bottom:18px; }
.article-body h2 { font-size:clamp(27px,2.3vw,35px); letter-spacing:-.02em; line-height:1.18; }
.article-body p,.article-body li { line-height:1.75; font-size:18px; }
.article-body a { text-decoration:underline; text-underline-offset:3px; }
.article-disclosure { color:var(--muted); border-left:3px solid var(--accent); padding-left:17px; font-size:15px!important; }
.article-sources { padding-top:12px; border-top:1px solid var(--line); margin-top:45px; }
.article-sources h2 { font-size:24px; }
.article-sources ul { padding-left:20px; }
.article-sources li { font-size:15px; margin-bottom:9px; }
.article-attribution { color:var(--muted); font-size:14px!important; border-top:1px solid var(--line); padding-top:20px; margin-top:22px; }
.insight-next { display:flex; flex-wrap:wrap; gap:30px; justify-content:space-between; border-top:1px solid var(--line); padding-block:30px 65px; }
@media(max-width:900px) {
 .home-insights-list { grid-template-columns:1fr 1fr; }
 .article-body { margin-inline:auto; max-width:720px; padding:30px 0 60px; }
 .insight-entry-link { grid-template-columns:1fr; gap:14px; }
 .insight-index-meta { flex-direction:row; flex-wrap:wrap; gap:14px; }
 .insight-entry-link h2,.insight-entry-link p,.insight-entry-link .insight-cta { grid-column:1; }
}
@media(max-width:600px) {
 .home-insights { padding-block:42px 60px; }
 .home-insights-list { grid-template-columns:1fr; gap:12px; }
 .insights-filter { gap:5px 19px; }
 .insight-filter-button { font-size:14px; }
 .insights-toolbar { align-items:start; }
 .insight-entry-link { padding:25px 0 31px; }
 .insight-article-hero { padding-block:24px 36px; }
 .insight-article-hero h1 { font-size:clamp(36px,11vw,47px); }
 .insight-standfirst { font-size:19px; }
 .article-body p,.article-body li { font-size:17px; }
}

@media print {
  .site-header, .site-footer, .capability-nav, .actions, .button, .breadcrumb, .photo-fallback { display: none !important; }
  .feature-hero { background: #fff; color: #000; display: block; }
  body { color: #000; background: #fff; font-size: 11pt; }
  .feature-copy { padding: 20px 30px; }
  .feature-image { display: none; }
  .home-hero { min-height: 0; height: auto; color: #000; }
  .home-hero-image { display: none; }
  .hero-lead, .hero-brandline { color: #000; }
  .home-hero h1 { font-size: 45px; }
  .home-hero-content { padding-block: 25px; }
  .shell { padding-inline: 25px; }
  h1,h2,h3 { break-after: avoid; }
  img, article, .situation-columns > article { break-inside: avoid; }
}
/* Prevent a fixed-height image's intrinsic aspect ratio from enlarging a
   one-column phone grid beyond the viewport. */
.service-panel > *, .client-feature > *, .regional-feature > *, .feature-hero > * { min-width: 0; }


/* Draft 21 editorial enhancements: original typography, layout and brand retained. */
.home-proof { padding-top: 30px; padding-bottom: 33px; background: #e8e9e6; border-bottom: 1px solid #ced0cb; }
.home-proof p { max-width: 1040px; margin: 0; font-size: 15px; line-height: 1.75; color: #282e31; }
.homepage .section-heading.home-services-heading { display: block; }
.home-services-heading .service-problem-intro { max-width: 36ch; margin: 12px 0 16px; font-size: 15px; line-height: 1.72; color: #444b4e; }
.home-clients-heading .client-value-intro { max-width: 38ch; margin: 3px 0 17px; font-size: 15px; line-height: 1.72; color: #444b4e; }
.firm-details .firm-subheading { font-size: 20px; font-weight: 700; line-height: 1.33; letter-spacing: -.02em; margin: 30px 0 15px; }
.firm-method { padding-top: 67px; padding-bottom: 78px; border-top: 1px solid #d4d5d2; background: #fff; }
.firm-method-grid { display: grid; grid-template-columns: .85fr 1.35fr; gap: 75px; }
.firm-method h2 { font-size: clamp(33px,3.2vw,47px); }
.firm-method-copy p { max-width: 68ch; font-size: 15px; line-height: 1.82; }
.contact-process { background: #fff; padding-top: 66px; padding-bottom: 73px; border-top: 1px solid #deded7; }
.contact-process-grid { display: grid; grid-template-columns: .84fr 1.45fr; gap: 70px; }
.contact-process h2 { font-size: clamp(32px,3.1vw,46px); }
.contact-process-list { list-style: none; counter-reset: engagement; padding: 0; margin: 0; }
.contact-process-list li { display: grid; grid-template-columns: 43px 1fr; gap: 15px; padding: 18px 0 21px; border-top: 1px solid #d0d1ce; counter-increment: engagement; }
.contact-process-list li::before { content: counter(engagement, decimal-leading-zero); font-size: 14px; font-weight: 700; color: #6b5553; line-height: 1.6; }
.contact-process-list li h3 { font-size: 18px; letter-spacing: -.015em; line-height: 1.35; margin: 0 0 8px; }
.contact-process-list li p { font-size: 15px; line-height: 1.73; max-width: 64ch; }
.contact-phone { display: block; font-size: 17px; font-weight: 600; color: var(--ink); margin: 14px 0 16px; width: fit-content; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.contact-phone:hover { color: var(--accent); }
@media (max-width: 800px) {
  .firm-method-grid, .contact-process-grid { grid-template-columns: 1fr; gap: 24px; }
  .firm-method, .contact-process { padding-top: 47px; padding-bottom: 55px; }
  .home-proof { padding-top: 23px; padding-bottom: 25px; }
}
@media (max-width: 760px) {
  .home-proof p, .home-services-heading .service-problem-intro, .home-clients-heading .client-value-intro { font-size: 15px; }
  .home-static h1 { text-wrap: balance; }
  .contact-process-list li { grid-template-columns: 34px 1fr; gap: 10px; }
}


/* Draft 45: a stronger contact invitation and a quieter, more compact footer. */
.footer-contact { padding-block: 82px 88px; }
.footer-main { padding-block: 43px 49px; }
.footer-main nav { gap: 10px; }
.footer-main nav h3 { font-size: 15px; margin-bottom: 8px; }
.footer-main nav a { font-size: 13px; line-height: 1.5; }
.footer-wordmark { font-size: 22px; }
.footer-brandline { font-size: 12px; }
.footer-base { font-size: 12px; }
/* One discreet biography link, immediately below the About introduction. */
.feature-copy .about-bio-ref { margin: 18px 0 0; font-size: 14px; line-height: 1.6; }
.feature-copy .about-bio-ref a { color: #e5e7e5; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.feature-copy .about-bio-ref a:hover { color: #fff; }
/* The Contact page's discretion note sits beside its direct contact card. */
.contact-discretion-inline { margin-top: 42px; max-width: 43ch; padding-top: 22px; border-top: 1px solid #cfd0cd; }
.contact-discretion-inline h2 { margin: 0 0 10px; font-size: 17px; line-height: 1.4; font-weight: 700; letter-spacing: -.01em; }
.contact-discretion-inline p { font-size: 14px; line-height: 1.7; max-width: 44ch; color: #484e50; }
@media (max-width: 760px) {
  .footer-contact { padding-block: 66px 74px; }
  .footer-main { padding-block: 38px 41px; gap: 30px 24px; }
  .footer-main nav { gap: 11px; }
  .footer-main nav h3 { font-size: 15px; }
  .footer-main nav a { font-size: 13px; }
  .footer-wordmark { font-size: 21px; }
  .footer-brandline { font-size: 12px; }
  .contact-discretion-inline { margin-top: 30px; }
}


/* Draft 46 - biography copy uses uniform, standard-size editorial text. */
.biography-copy .standfirst,
.biography-copy > p {
  font-size: 18px;
  line-height: 1.75;
  letter-spacing: normal;
  font-weight: 400;
}
@media (max-width: 760px) {
  .biography-copy .standfirst, .biography-copy > p { font-size: 18px; }
}
/* Draft 46 - small body-copy fragments match the site's 17px reading scale. */
.home-services-heading .service-problem-intro,
.home-clients-heading .client-value-intro,
.home-proof p,
.firm-method-copy p,
.contact-process-list li p {
  font-size: 17px;
  line-height: 1.7;
}

/* Footer meta folded into the main footer block. */
.footer-meta { grid-column: 1; grid-row: 1; align-self: end; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 26px; font-size: 12px; line-height: 1.6; color: #aeb4b4; }
.footer-main > .footer-identity { grid-column: 1; grid-row: 1; }
.footer-main > .footer-services { grid-column: 2; grid-row: 1; }
.footer-main > .footer-firm { grid-column: 3; grid-row: 1; }
@media (max-width: 760px) { .footer-main > .footer-identity { grid-column: 1 / -1; grid-row: auto; } .footer-main > .footer-services { grid-column: 1; grid-row: auto; } .footer-main > .footer-firm { grid-column: 2; grid-row: auto; } .footer-meta { grid-column: 1 / -1; grid-row: auto; align-self: start; margin-top: 4px; } .footer-meta > span { flex-basis: 100%; } }
.footer-meta-link { color: #aeb4b4; }
.footer-meta-link:hover { color: var(--white); text-decoration: underline; text-underline-offset: 4px; }

.bio-linkedin { display: block; width: max-content; margin-top: 14px; font-size: 14px; }
