/*
 * One visual system for the review candidate. Load after every page stylesheet.
 * Real class names only; asset filters, scene transforms and animations are owned
 * by their existing components. NoGood informs rhythm and hierarchy, not assets.
 */
:root {
  --bg: #181819;
  --panel: #28282a;
  --text: #f4f3ef;
  --muted: #bbbabe;
  --line: #ffffff26;
  --purple: #8854eb;
  --lime: #e6efac;
  --paper: #efeee8;
  --ink: #242425;
  --max: 1280px;
  --ss-gutter: 48px;
  --ss-header: 84px;
  --ss-section: 104px;
  --ss-gap: 28px;
  --ss-radius: 18px;
  --ss-small-radius: 10px;
  --ss-panel-soft: #222224;
  --ss-panel-raised: #303032;
  --ss-border: #ffffff2e;
  --ss-copy: #c9c8cc;
  --ss-display: clamp(40px, 4.4vw, 66px);
  --ss-heading: clamp(30px, 3.1vw, 46px);
}

body { background: var(--bg); color: var(--text); }
.container { width: min(var(--max), calc(100% - var(--ss-gutter) * 2)); margin-inline: auto; }
.section, .editorial-section { padding-block: var(--ss-section); }
main :is(section[id], article[id], nav[id]) { scroll-margin-top: calc(var(--ss-header) + 28px); }
.eyebrow { color: #c0b4d8; font-size: 12px; font-weight: 500; line-height: 1.7; letter-spacing: .07em; }
.breadcrumbs { gap: 12px; font-size: 12px; line-height: 1.8; color: #a7a5ad; flex-wrap: wrap; }
.breadcrumbs a:hover { color: var(--text); }
.section-head, .editorial-heading { gap: 64px; align-items: flex-end; margin-bottom: 48px; }
.section-head > div, .editorial-heading > div { min-width: 0; max-width: 800px; }
.section-head h2, .editorial-heading h2, .company-v35 .editorial-heading h2,
.definition-grid h2, .faq-layout > div > h2, .contact-editorial .visit-grid h2 {
  font-size: var(--ss-heading); line-height: 1.35; letter-spacing: -.035em; text-wrap: balance;
}
.section-head > p, .editorial-heading > p { max-width: 410px; color: var(--muted); font-size: 16px; line-height: 1.85; }
.section-bottom, .services-bottom { margin-top: 44px; }

/* A primary action always has the same weight. Secondary links remain quiet. */
.button, .hero.revised-hero .button {
  min-height: 48px; padding: 13px 22px; gap: 24px; border: 1px solid #f4f3ef85;
  border-radius: var(--ss-small-radius); background: transparent; color: var(--text);
  font-size: 14px; font-weight: 600; line-height: 1.45; text-align: left;
  transition: background-color .2s, color .2s, border-color .2s;
}
.button.primary, .hero.revised-hero .button.primary { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.button:hover, .hero.revised-hero .button:hover { background: var(--text); border-color: var(--text); color: var(--ink); transform: none; }
.button.primary:hover, .hero.revised-hero .button.primary:hover { background: #f1f7d1; border-color: #f1f7d1; }
.button:focus-visible, .text-link:focus-visible, .nav-card:focus-visible,
.role-quicklinks a:focus-visible, .project-jumpnav a:focus-visible {
  outline: 2px solid var(--lime); outline-offset: 5px;
}
.text-link { gap: 18px; color: var(--text); font-size: 14px; line-height: 1.7; border-color: #ffffff59; }
.text-link:hover { color: var(--lime); border-color: var(--lime); }
.actions { gap: 14px; flex-wrap: wrap; }

/* One navigation bar, one dropdown palette, across all page families. */
.site-header.purpose-header { height: var(--ss-header); background: #181819f2; border-color: var(--ss-border); }
.purpose-header .header-inner { gap: 28px; }
.purpose-header .mega-nav { gap: 25px; }
.purpose-header .mega-menu > summary, .purpose-header .nav-direct { font-size: 14px; line-height: 1.5; }
.purpose-header .contact-menu > summary { min-height: 46px; padding: 11px 21px; border-color: #ffffff85; border-radius: var(--ss-small-radius); }
.purpose-header .mega-panel { top: calc(var(--ss-header) - 1px); width: min(var(--max), calc(100vw - var(--ss-gutter) * 2)); background: #222224; border-color: #ffffff2e; border-radius: 0 0 18px 18px; }
.nav-introduction h2 { color: var(--text); font-size: 25px; line-height: 1.45; }
.nav-introduction p, .nav-card span { color: var(--muted); }
.nav-card { background: #2b2b2e; border-color: #ffffff15; border-radius: var(--ss-small-radius); }
.nav-card:hover { background: #343237; border-color: #b399e47d; }
.nav-feature { background: linear-gradient(145deg, #38303f, #453167); border-radius: var(--ss-small-radius); }
.purpose-header .mobile-panel { top: calc(var(--ss-header) - 1px); max-height: calc(100dvh - var(--ss-header)); background: #222224; }

/* Page openings align to the same grid and typographic scale. */
.page-hero, .page-type .page-hero, .results-hero, .question-hub-hero,
.research-opening, .research-article-head, .observation-opening {
  padding-block: 76px 64px; background: var(--bg); border-bottom: 1px solid var(--line);
}
.company-text-hero, .contact-opening { padding-top: 76px; background: var(--bg); }
.page-hero h1, .page-type .commercial-hero-grid h1, .results-hero h1,
.question-hub-hero h1, .research-opening h1, .contact-opening h1 {
  font-size: var(--ss-display); line-height: 1.28; letter-spacing: -.04em;
  max-width: 1020px; text-wrap: balance; overflow-wrap: anywhere;
}
.company-text-hero h1 { font-size: clamp(48px, 5.5vw, 80px); line-height: 1.2; letter-spacing: -.04em; }
.company-text-hero h2 { color: #e6e5e8; font-size: clamp(27px, 2.8vw, 39px); line-height: 1.5; font-weight: 600; }
.page-hero .intro, .commercial-hero-grid .intro, .question-hub-hero p,
.research-opening p, .contact-opening > div > p, .results-hero-bottom p {
  color: var(--ss-copy); font-size: 17px; line-height: 1.9; max-width: 870px;
}
.commercial-hero-grid { gap: 64px; }
.commercial-photo, .commercial-art, .industry-hero-visual { border-radius: var(--ss-radius); }
.commercial-art { background-color: #252427; }
.industry-hero-visual { background: radial-gradient(ellipse at 50% 90%, #58407665, transparent 68%), #262628; border-color: var(--ss-border); }
.section-navigation, .project-jumpnav { border-color: var(--ss-border); gap: 16px 30px; padding-block: 24px; }
.section-navigation a, .project-jumpnav a { color: var(--ss-copy); font-size: 13px; }
.section-navigation a:hover, .project-jumpnav a:hover { color: var(--lime); }

/* Home: neutral groundwork, a restrained purple evidence chapter, light fit panel. */
.home-value-hero.hero { min-height: 0; padding-bottom: 64px; background: var(--bg); }
.home-value-hero.hero h1 { font-size: clamp(40px, 4.7vw, 68px); line-height: 1.3; letter-spacing: -.045em; }
.home-value-hero .hero-description { font-size: 18px; line-height: 1.9; color: var(--ss-copy); }
.hero-fit-line { color: var(--lime); border-color: #e6efac66; font-size: 15px; }
.home-value-hero .hero-bottom { font-size: 12px; color: #aaa8ae; }
.proof-wall { padding-block: 44px 28px; background: var(--bg); }
.proof-intro h2 { font-size: 23px; line-height: 1.5; letter-spacing: -.02em; }
.home-collaboration, .home-approach, .industry-section, .home-faq { background: var(--bg); }
.definition-copy p { color: var(--ss-copy); font-size: 17px; line-height: 1.9; }
.home-capabilities { background: var(--ss-panel-soft); }
.home-capability-grid { gap: var(--ss-gap); }
.home-capability-grid .capability-card { border: 1px solid var(--ss-border); border-radius: var(--ss-radius); background: var(--ss-panel-raised); }
.home-capability-grid .capability-card:hover { background: #353438; transform: none; border-color: #a995cb80; }
.home-capability-grid .deliverable-visual { background: #252329; border-color: #ffffff21; border-radius: var(--ss-small-radius); }
.home-capability-grid .capability-body h3 { font-size: 23px; line-height: 1.5; }
.home-capability-grid .capability-body p { color: var(--ss-copy); font-size: 15px; line-height: 1.85; }
.home-capability-grid .capability-body small { color: #aaa8b1; font-size: 12px; line-height: 1.7; }
.case-section { background: linear-gradient(180deg, #181819 0%, #211d2b 52%, #392363 100%); }
.home-stories { gap: var(--ss-gap); }
.home-story { background: #303032; border-color: #ffffff46; border-radius: 22px; }
.home-story-link { padding: 32px; }
.home-story-link:hover { background: #373539; }
.home-story h3 { font-size: 24px; line-height: 1.5; }
.home-story p { color: #d0cfd2; font-size: 15px; line-height: 1.85; }
.home-story .story-metrics span { font-size: 12px; color: #c5c3cb; }
.story-metrics strong, .compact-metric strong { color: var(--text); }
.home-proof-method { background: var(--panel); border: 1px solid var(--ss-border); border-radius: var(--ss-radius); }
.home-proof-method h3 { font-size: 24px; line-height: 1.5; }
.home-proof-method p { color: var(--ss-copy); font-size: 15px; line-height: 1.85; }
.home-fit { background: var(--paper); color: var(--ink); padding-block: var(--ss-section); }
.home-fit .eyebrow { color: #625475; }
.home-fit .fit-opening h2 { font-size: var(--ss-heading); line-height: 1.35; }
.home-fit .fit-opening p, .home-fit .fit-columns p, .home-fit .fit-columns li { color: #525157; font-size: 16px; line-height: 1.85; }
.home-fit .fit-columns article { border-color: #24242538; }
.home-fit .text-link { color: var(--ink); border-color: #24242560; }
.home-research { background: linear-gradient(165deg, #352154 0%, #27212f 35%, #181819 85%); }

/* Card families share construction, while case artwork retains each client's identity. */
.question-card, .research-card, .institute-card,
.case-directory .story-card, .related-story-grid .story-card,
.company-case-grid .story-card, .company-strength-grid article,
.contact-channel-grid article, .role-group {
  background: var(--panel); border: 1px solid var(--ss-border); border-radius: var(--ss-radius);
}
.question-card, .institute-card, .company-strength-grid article, .contact-channel-grid article { padding: 32px; }
.question-card h3, .research-card h3, .story-card-body h3, .institute-card h3,
.company-strength-grid h3, .contact-channel-grid h3 { font-size: 24px; line-height: 1.5; letter-spacing: -.025em; }
.question-card p, .research-card p, .story-card-body p, .institute-card p,
.company-strength-grid p, .contact-channel-grid p { font-size: 15px; line-height: 1.9; color: var(--ss-copy); }
.research-card-content, .story-card-body { padding: 28px; }
.question-card > small, .story-card-body > small, .research-card-meta { color: #afadb7; font-size: 12px; line-height: 1.7; }
.research-card-cover, .research-card:nth-child(3n+2) .research-card-cover,
.research-card:nth-child(3n+3) .research-card-cover { background: radial-gradient(ellipse at 90% 100%, #7950b366, transparent 70%), #30253e; }
.research-card:nth-child(3n+2) .research-card-cover { background-color: #282730; }
.research-card:nth-child(3n+3) .research-card-cover { background-color: #35293c; }
.research-card-cover > span { font-size: 25px; line-height: 1.45; }
.research-grid, .question-grid, .institute-grid, .company-strength-grid,
.company-case-grid, .related-story-grid, .role-groups { gap: var(--ss-gap); }

/* Service and industry pages: label on the left, useful content on the right. */
.service-commercial .page-layout, .industry-commercial .page-layout { padding-block: 72px 88px; }
.service-commercial .article-section, .industry-commercial .article-section {
  grid-template-columns: minmax(0, .85fr) minmax(0, 2fr); gap: 64px;
  padding-block: 16px 56px; margin-bottom: 48px; border-color: var(--ss-border);
}
.article-section h2, .page-faq h2, .section-module .section-topic h2 { font-size: 30px; line-height: 1.5; letter-spacing: -.03em; }
.section-index, .chapter-label small { color: #b7a5d5; font-size: 12px; }
.article-section .lead, .section-module .section-body > .lead { color: #d5d3da; font-size: 17px; line-height: 1.9; }
.section-module .section-body .article-item h3 { font-size: 22px; line-height: 1.55; }
.section-module .section-body .article-item p { font-size: 16px; line-height: 1.9; color: var(--ss-copy); }
.section-module.module-process { background: var(--ss-panel-soft); border: 1px solid var(--ss-border); border-radius: var(--ss-radius); padding: 36px; }
.section-module.module-cases .article-item { border-top-color: #ac8ade; }
.section-module.module-outcomes .article-item { border-left-color: var(--lime); }
.service-commercial #short-video-projects .article-item,
.service-commercial #short-video-projects .article-item:nth-child(2),
.service-commercial #short-video-projects .article-item:nth-child(3) { background: var(--panel); border-color: var(--ss-border); border-radius: var(--ss-radius); }
.industry-row { grid-template-columns: 60px minmax(0, 1fr) 220px; gap: 30px; padding-block: 36px; border-color: var(--ss-border); }
.industry-row h2, .industry-row h3 { font-size: 30px; line-height: 1.45; }
.industry-row p { color: var(--ss-copy); font-size: 16px; line-height: 1.85; }
.industry-scope { color: #c2b3d9; font-size: 12px; }
.industry-actions a { font-size: 14px; }
.industry-number { color: #a895c2; }

/* Company: long introduction, evidence, then clear responsibilities. */
.company-overview { max-width: 1040px; }
.company-overview p { color: var(--ss-copy); font-size: 17px; line-height: 1.95; margin-bottom: 24px; }
.company-overview p.company-overview-lead { font-size: 21px; line-height: 1.85; color: var(--text); }
.company-service-section, .company-team-section, .company-history { background: var(--ss-panel-soft); }
.company-strengths { background: var(--bg); }
.company-service-grid.focused-services { gap: 64px; }
.focused-services h3 { font-size: 28px; }
.focused-services article:first-child h3 { font-size: 36px; }
.company-service-grid p, .company-supporting-work p,
.company-method-columns p, .client-participation p { color: var(--ss-copy); font-size: 16px; line-height: 1.9; }
.company-lead-row { padding-block: 32px; margin-bottom: 36px; border-color: #ffffff40; }
.company-lead-row h3 { font-size: 34px; }
.company-lead-row p { font-size: 16px; line-height: 1.85; color: var(--ss-copy); }
.role-quicklinks { gap: 10px; margin-bottom: 32px; }
.role-quicklinks a { padding: 10px 15px; font-size: 13px; border-color: var(--ss-border); color: #cccad3; }
.role-group-heading { padding: 30px 30px 24px; }
.role-group-heading h3 { font-size: 26px; line-height: 1.5; }
.role-group-heading p { font-size: 15px; line-height: 1.85; color: var(--ss-copy); }
.role-group dl { padding-inline: 30px; }
.role-group dl > div { grid-template-columns: 94px minmax(0, 1fr); gap: 20px; padding-block: 22px; border-color: var(--ss-border); }
.role-group dt { color: #eceaef; font-size: 15px; line-height: 1.8; }
.role-group dd { color: var(--ss-copy); font-size: 15px; line-height: 1.9; }
.role-deliverables { margin-inline: 30px; border-color: var(--ss-border); }
.role-deliverables li { background: #ffffff08; color: #c9c7d0; font-size: 12px; line-height: 1.7; }
.role-handoff { padding: 20px 30px; color: #cecbc6; font-size: 13px; line-height: 1.9; background: #ffffff04; }
.role-handoff strong, .role-deliverables h4 { color: var(--lime); }
.role-evidence { padding: 18px 30px 30px; }
.role-evidence a { font-size: 13px; }
.company-timeline strong { color: var(--text); }
.company-timeline p { color: var(--ss-copy); font-size: 15px; line-height: 1.9; }

/* Cases: editorial scale for evidence, readable scale for the actual process. */
.project-editorial { gap: 72px; padding-block: 80px; border-color: var(--ss-border); }
.project-summary h2 { font-size: clamp(36px, 3.8vw, 54px); line-height: 1.25; }
.project-summary h3 { font-size: 23px; line-height: 1.55; }
.project-summary p, .project-lead { color: var(--ss-copy); font-size: 17px; line-height: 1.9; }
.project-visual { border-radius: 22px; }
.project-visual.compact { border-radius: 0; }
.results-page .case-directory, .portfolio-strip { background: var(--ss-panel-soft); }
.project-hero { padding-top: 48px; }
.project-hero-grid { gap: 64px; }
.project-hero h1 { font-size: clamp(36px, 3.6vw, 52px); line-height: 1.35; letter-spacing: -.035em; text-wrap: balance; }
.project-client-name { color: #b4b1be; font-size: 17px; }
.project-key-results { border-color: var(--ss-border); }
.project-key-results strong { color: var(--text); }
.project-key-results span { color: var(--ss-copy); font-size: 13px; }
.project-narrative { padding-top: 56px; }
.project-page .project-chapter { gap: 64px; padding-block: 56px; border-color: var(--ss-border); }
.project-page .chapter-label h2 { font-size: 29px; line-height: 1.5; letter-spacing: -.025em; }
.chapter-content > p, .project-prose-items p, .project-work-steps p { color: var(--ss-copy); font-size: 17px; line-height: 1.95; }
.project-work-steps h3, .project-prose-items h3 { font-size: 23px; line-height: 1.55; }
.project-work-steps li { padding-block: 30px; border-color: var(--ss-border); }
.project-result-card { background: var(--panel); padding: 28px; border-color: #a58bbc45; border-radius: var(--ss-radius); }
.project-result-card strong { color: var(--lime); }
.project-result-card p { color: var(--ss-copy); font-size: 14px; }
.project-result-card small { color: #b8b3c0; }
.project-facts dd { font-size: 15px; line-height: 1.8; }
.project-facts dt { color: #aaa3b8; font-size: 12px; }
.project-services { background: #28232f; padding-block: 72px; }
.project-services h2 { font-size: var(--ss-heading); line-height: 1.35; }

/* Articles are continuous reading surfaces, not collections of promo cards. */
.research-article-head h1, .observation-opening h1 {
  font-size: clamp(34px, 3.5vw, 50px); line-height: 1.42; letter-spacing: -.035em;
  max-width: 1060px; text-wrap: balance; overflow-wrap: anywhere;
}
.research-byline, .observation-meta { color: #aaa8b2; font-size: 12px; }
.research-answer { color: #d8d5de; font-size: 18px; line-height: 1.9; }
.research-reading-layout { grid-template-columns: 224px minmax(0, 1fr); gap: 72px; padding-block: 64px 88px; }
.research-prose { color: var(--ss-copy); font-size: 17px; line-height: 1.95; }
.research-prose h2 { color: var(--text); font-size: 30px; line-height: 1.5; margin-top: 52px; }
.research-prose h3 { color: #e9e6ef; font-size: 24px; line-height: 1.55; }
.research-prose blockquote { background: #252229; border-color: #ae8eda; }
.observation-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 72px; padding-bottom: 88px; }
.observation-answer { max-width: 1050px; padding: 28px 32px; border-left-color: var(--lime); border-radius: 0 var(--ss-radius) var(--ss-radius) 0; background: #2c2733; }
.observation-answer p { color: #e4e0ea; font-size: 18px; line-height: 1.9; }
.observation-section { padding-block: 44px; border-color: var(--ss-border); }
.observation-section h2 { font-size: 30px; line-height: 1.5; }
.observation-section h3 { font-size: 23px; line-height: 1.55; }
.observation-section p { color: var(--ss-copy); font-size: 17px; line-height: 1.95; }
.observation-item { margin-block: 32px; }
.observation-sidebar { top: calc(var(--ss-header) + 28px); }
.observation-sidebar nav, .observation-side-related { padding: 24px; border-color: var(--ss-border); border-radius: var(--ss-radius); background: var(--ss-panel-soft); }
.observation-service { padding: 24px; background: #322a3e; border-radius: var(--ss-radius); }
.observation-sidebar a:not(.button) { color: var(--muted); font-size: 13px; line-height: 1.85; }
.observation-sidebar a:hover { color: var(--lime); }
.observation-editor-note, .research-source-note { color: #aba6b6; font-size: 13px; line-height: 1.9; }
.guide-article .article-item p { color: var(--ss-copy); font-size: 17px; line-height: 1.95; }
.guide-article .article-item h3 { font-size: 23px; line-height: 1.5; }
.toc { top: calc(var(--ss-header) + 28px); }
.toc a { color: var(--muted); font-size: 13px; line-height: 1.8; }
.table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.research-prose th, .research-prose td, .observation-section th, .observation-section td { border-color: #ffffff2d; padding: 16px; font-size: 14px; line-height: 1.85; }
.research-prose th, .observation-section th { background: #2c2931; color: var(--text); }
.research-tabs, .knowledge-tabs, .question-hub .knowledge-tabs { border-color: var(--ss-border); gap: 12px; }
.knowledge-tabs a, .question-hub .knowledge-tabs a, .case-tabs a { border-radius: 8px; font-size: 13px; line-height: 1.7; padding: 10px 18px; }
.question-hub .knowledge-tabs a[aria-current="page"], .knowledge-tabs a[aria-current="page"], .case-tabs a.active { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.question-topic { padding-top: 56px; }
.question-topic-heading h2 { font-size: 32px; line-height: 1.45; }
.question-topic-heading p { color: var(--muted); font-size: 15px; line-height: 1.85; }
.faq-list { border: 0; }
.faq-item { margin-bottom: 10px; padding: 22px 24px; border: 1px solid #ffffff1d; border-radius: var(--ss-small-radius); background: var(--panel); }
.faq-item summary { font-size: 17px; line-height: 1.6; }
.faq-item p { font-size: 16px; line-height: 1.9; color: var(--ss-copy); }
.faq-item summary::after { color: #c7b4e5; }

/* Contact and footer provide a consistent final action without resizing assets. */
.contact-process { background: var(--ss-panel-soft); }
.contact-main-grid { gap: 96px; }
.contact-main-grid > div > p, .process-track p, .visit-grid p { font-size: 16px; line-height: 1.9; color: var(--ss-copy); }
.process-track h3 { font-size: 25px; line-height: 1.5; }
.qr-panel { background: var(--paper); border-radius: var(--ss-radius); }
.contact-band { padding-block: 80px; background: var(--bg); border-color: var(--ss-border); }
.contact-band h2 { font-size: var(--ss-heading); line-height: 1.35; }
.contact-band p { color: var(--muted); font-size: 16px; line-height: 1.85; }
.home-contact .container { gap: 64px; }
.footer-information { background: linear-gradient(125deg, #222224, #2a282c 55%, #202022); border-color: #ffffff24; padding-block: 64px 36px; }
.footer-columns { gap: 32px; }
.footer-columns h3 { font-size: 15px; color: var(--text); }
.footer-columns a { font-size: 13px; line-height: 1.85; color: var(--muted); }
.footer-columns a:hover { color: var(--text); }
.footer-location { color: #bdb9c4; font-size: 13px; line-height: 1.85; }
.footer-stage-meta, .footer-stage-bottom, .footer-metal-wrap { max-width: var(--max); }

@media (max-width: 1150px) {
  :root { --ss-gutter: 32px; --ss-section: 80px; --ss-gap: 24px; }
  .purpose-header .mega-nav { gap: 17px; }
  .purpose-header .mega-menu > summary, .purpose-header .nav-direct { font-size: 12px; }
  .commercial-hero-grid, .project-hero-grid, .project-editorial { gap: 40px; }
  .section-head, .editorial-heading { gap: 40px; }
  .section-head > p, .editorial-heading > p { max-width: 340px; }
  .service-commercial .article-section, .industry-commercial .article-section { gap: 40px; }
  .research-reading-layout { grid-template-columns: 195px minmax(0, 1fr); gap: 40px; }
  .observation-layout { grid-template-columns: minmax(0, 1fr) 235px; gap: 36px; }
  .role-group dl > div { grid-template-columns: 1fr; gap: 6px; }
  .contact-main-grid, .company-service-grid.focused-services { gap: 48px; }
  .home-story-link { padding: 26px; }
  .home-story h3 { font-size: 22px; }
}

@media (max-width: 1080px) {
  .purpose-header .mega-nav { display: none; }
  .purpose-header .mobile-nav { display: block; }
}

@media (max-width: 800px) {
  :root { --ss-gutter: 24px; --ss-heading: 34px; --ss-display: 44px; }
  .page-hero, .page-type .page-hero, .results-hero, .question-hub-hero,
  .research-opening, .research-article-head, .observation-opening { padding-block: 56px 48px; }
  .company-text-hero, .contact-opening { padding-top: 56px; }
  .section-head, .editorial-heading { display: block; margin-bottom: 36px; }
  .section-head > p, .editorial-heading > p { margin-top: 22px; max-width: 650px; }
  .section-head > .button { margin-top: 24px; }
  .commercial-hero-grid, .project-hero-grid, .contact-main-grid, .visit-grid { grid-template-columns: 1fr; gap: 32px; }
  .commercial-photo { height: 360px; }
  .project-page .project-chapter { grid-template-columns: 1fr; gap: 18px; padding-block: 40px; }
  .project-page .chapter-label { position: static; }
  .project-page .chapter-label h2 { font-size: 28px; }
  .project-editorial { grid-template-columns: 1fr; gap: 28px; padding-block: 56px; }
  .project-editorial:nth-child(even) .project-art-link { order: 0; }
  .project-summary { padding-top: 0; }
  .service-commercial .article-section, .industry-commercial .article-section { display: block; padding-bottom: 40px; margin-bottom: 36px; }
  .section-module .section-topic { margin-bottom: 26px; }
  .section-module.module-process { padding: 28px; }
  .role-groups, .company-strength-grid { grid-template-columns: 1fr; }
  .role-group dl > div { grid-template-columns: 104px minmax(0, 1fr); gap: 20px; }
  .research-reading-layout { display: block; padding-block: 44px 64px; }
  .research-reading-layout .toc { margin-bottom: 40px; }
  .research-prose, .chapter-content > p, .project-prose-items p, .project-work-steps p { font-size: 16px; }
  .observation-layout { display: flex; flex-direction: column; gap: 16px; padding-bottom: 64px; }
  .observation-sidebar { position: static; width: 100%; margin-top: 0; }
  .observation-sidebar nav { display: none; }
  .industry-row { grid-template-columns: 35px minmax(0, 1fr); gap: 18px; }
  .industry-actions { grid-column: 2; flex-direction: row; gap: 24px; align-items: flex-start; flex-wrap: wrap; }
  .contact-band .container { align-items: flex-start; }
}

@media (max-width: 560px) {
  :root { --ss-gutter: 20px; --ss-header: 74px; --ss-section: 64px; --ss-gap: 20px; --ss-radius: 16px; --ss-heading: 30px; --ss-display: 35px; }
  .site-header.purpose-header { height: var(--ss-header); }
  .purpose-header .header-inner { gap: 12px; }
  .revised-header .mobile-nav > summary { min-height: 42px; font-size: 13px; padding: 10px 13px; }
  .purpose-header .mobile-panel { padding: 22px 20px; }
  .page-hero, .page-type .page-hero, .results-hero, .question-hub-hero,
  .research-opening, .research-article-head, .observation-opening { padding-block: 42px; }
  .company-text-hero, .contact-opening { padding-top: 42px; }
  .home-value-hero.hero { padding-bottom: 46px; }
  .home-value-hero.hero h1 { font-size: 35px; line-height: 1.37; letter-spacing: -.035em; }
  .home-value-hero .hero-description, .definition-copy p { font-size: 16px; line-height: 1.85; }
  .hero-fit-line { font-size: 14px; gap: 16px; }
  .hero.revised-hero .button, .button { min-height: 46px; padding: 12px 17px; font-size: 13px; gap: 18px; }
  .actions { gap: 10px; }
  .page-hero .intro, .commercial-hero-grid .intro, .question-hub-hero p,
  .research-opening p, .contact-opening > div > p, .results-hero-bottom p { font-size: 16px; line-height: 1.85; }
  .company-text-hero h1 { font-size: 47px; }
  .company-text-hero h2 { font-size: 26px; }
  .company-overview p { font-size: 16px; line-height: 1.95; }
  .company-overview p.company-overview-lead { font-size: 18px; line-height: 1.85; }
  .company-hero-actions { margin-block: 28px 36px; gap: 12px; }
  .section-head, .editorial-heading { margin-bottom: 32px; }
  .section-head > p, .editorial-heading > p { font-size: 15px; }
  .section-navigation, .project-jumpnav { gap: 10px 22px; padding-block: 20px; }
  .section-navigation a, .project-jumpnav a { font-size: 12px; }
  .proof-wall { padding-top: 32px; }
  .proof-intro h2 { font-size: 20px; }
  .home-capability-grid .capability-body h3, .home-story h3,
  .question-card h3, .research-card h3, .story-card-body h3,
  .institute-card h3, .company-strength-grid h3 { font-size: 23px; }
  .home-capability-grid .capability-body p, .home-story p { font-size: 15px; }
  .home-story-link, .question-card, .research-card-content, .story-card-body,
  .institute-card, .company-strength-grid article, .contact-channel-grid article { padding: 25px; }
  .home-story .story-metrics strong { font-size: 44px; }
  .home-proof-method h3 { font-size: 23px; }
  .home-fit .fit-opening p, .home-fit .fit-columns p, .home-fit .fit-columns li { font-size: 15px; }
  .service-commercial .page-layout, .industry-commercial .page-layout { padding-block: 42px 64px; }
  .commercial-photo { height: 285px; }
  .article-section h2, .page-faq h2, .section-module .section-topic h2 { font-size: 27px; }
  .section-module .section-body .article-item h3 { font-size: 21px; }
  .section-module .section-body .article-item p, .article-section .lead,
  .section-module .section-body > .lead { font-size: 16px; line-height: 1.9; }
  .section-module.module-process { padding: 24px; }
  .section-module .section-body .article-items { gap: 28px; }
  .industry-row { padding-block: 28px; gap: 14px; grid-template-columns: 25px minmax(0, 1fr); }
  .industry-row h2, .industry-row h3 { font-size: 25px; }
  .industry-row p { font-size: 15px; }
  .industry-actions { gap: 16px; }
  .industry-actions a { font-size: 13px; }
  .company-service-grid.focused-services { grid-template-columns: 1fr; gap: 16px; }
  .focused-services article:first-child h3 { font-size: 30px; }
  .focused-services h3 { font-size: 26px; }
  .company-service-grid p, .company-supporting-work p, .company-method-columns p, .client-participation p { font-size: 16px; }
  .role-quicklinks a { font-size: 12px; padding: 9px 12px; }
  .role-group-heading { padding: 25px 25px 20px; }
  .role-group-heading h3 { font-size: 24px; }
  .role-group dl { padding-inline: 25px; }
  .role-group dl > div { grid-template-columns: 1fr; gap: 7px; padding-block: 20px; }
  .role-group dt, .role-group dd { font-size: 15px; }
  .role-deliverables { margin-inline: 25px; }
  .role-handoff { padding: 20px 25px; min-height: 0; }
  .role-evidence { padding: 18px 25px 25px; }
  .project-hero { padding-top: 30px; }
  .project-hero h1 { font-size: 34px; line-height: 1.4; }
  .project-lead, .project-summary p { font-size: 16px; line-height: 1.9; }
  .project-summary h2 { font-size: 34px; }
  .project-summary h3 { font-size: 22px; }
  .project-narrative { padding-top: 32px; }
  .project-page .project-chapter { gap: 12px; padding-block: 34px; }
  .project-page .chapter-label h2 { font-size: 26px; }
  .project-work-steps h3, .project-prose-items h3 { font-size: 21px; }
  .project-work-steps li { gap: 12px; }
  .project-result-card { padding: 24px; }
  .project-result-card strong { font-size: 31px; }
  .project-services { padding-block: 56px; }
  .research-article-head h1, .observation-opening h1 { font-size: 31px; line-height: 1.45; }
  .research-answer, .observation-answer p { font-size: 16px; line-height: 1.9; }
  .observation-answer { padding: 22px 24px; }
  .research-prose h2, .observation-section h2 { font-size: 26px; }
  .research-prose h3, .observation-section h3, .guide-article .article-item h3 { font-size: 22px; }
  .observation-section p, .guide-article .article-item p { font-size: 16px; line-height: 1.95; }
  .observation-section { padding-block: 34px; }
  .observation-sidebar nav, .observation-side-related, .observation-service { padding: 24px; }
  .research-tabs, .knowledge-tabs, .question-hub .knowledge-tabs { gap: 8px; }
  .knowledge-tabs a, .question-hub .knowledge-tabs a, .case-tabs a { font-size: 12px; padding: 9px 12px; }
  .question-topic-heading h2 { font-size: 27px; }
  .faq-item { padding: 20px; }
  .faq-item summary { font-size: 16px; }
  .faq-item p { font-size: 15px; margin-right: 0; }
  .process-track h3 { font-size: 22px; }
  .process-track p { font-size: 15px; }
  .contact-band { padding-block: 64px; }
  .contact-band p, .contact-main-grid > div > p, .visit-grid p { font-size: 16px; }
  .contact-band .button { white-space: normal; }
  .footer-information { padding-block: 48px 30px; }
  .footer-columns { gap: 28px 20px; }
  .footer-columns h3 { font-size: 14px; }
  .footer-columns a { font-size: 13px; }
  .footer-location { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .button, .hero.revised-hero .button { transition: none; }
}
