/**
 * Britehouse — Final Revision Layer 3
 * Production Review Document Implementation
 * Loads LAST on every page — after bh-revision-2.css
 *
 * Strategy: CSS-only overrides following the existing layered architecture.
 * Each section is labeled with the page and section heading for easy audit.
 *
 * AUDIT-VERIFIED: Cross-checked against live site measurements on 2026-08-06
 */

/* =========================================================================
   GLOBAL — Typography refinements
   Body text larger · labels more readable · headings wider
   ========================================================================= */

/* Body text: increase size across all pages */
p:not([class]),
.body-text,
[class*="__prose"] p,
[class*="__body"] p,
[class*="__lead"],
.ap-prose p,
.sr-prose p,
.cpa-prose p,
.ins-prose p,
.ab-prose p {
  font-size: clamp(1.3rem, 1.5vw, 1.5625rem) !important;
  line-height: 1.55 !important;
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* Small labels / kickers: INCREASE size + FIX LOW OPACITY (audit: many at 0.4-0.55) */
[class*="kicker"],
[class*="__eyebrow"],
[class*="__label"]:not([for]):not(.ct-field__label),
[class*="__phase"],
[class*="__tag"]:not(h1):not(h2):not(h3),
.eyebrow,
.ab-kicker,
.sr-hero-kicker,
.ins-hero-kicker,
.cpa-hero-kicker,
.ap-hero-kicker,
.hero-kicker {
  font-size: clamp(0.875rem, 1vw, 1rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  color: rgba(17, 17, 17, 0.78) !important;
  opacity: 1 !important;
}

/* Dark-section kickers: keep light BUT readable */
[class*="anchor"] [class*="kicker"],
[class*="anchor"] [class*="__eyebrow"],
[class*="intake"] [class*="kicker"],
.ab-kicker--invert,
.sr-intake__kicker,
.sr-anchor-dark__kicker,
.cpa-anchor__kicker,
.ins-anchor__kicker,
.ab-anchor-dark__kicker {
  color: rgba(235, 235, 235, 0.82) !important;
}

/* Headings: widen containers to reduce line breaks */
h1,
.hero-title,
[class*="hero-title"],
.ap-hero h1,
.ab-hero-title,
.sr-hero-title,
.ct-hero__title,
.ins-hero-title,
.cpa-hero-h1 {
  max-width: 100% !important;
}

/* Section headings: ensure contrast */
h2,
.statement-heading,
.ap-h2, .ab-h2, .sr-h2,
.ins-h2, .cpa-h2 {
  color: #111 !important;
  opacity: 1 !important;
}

/* Dark section headings override */
[class*="anchor"] h2,
[class*="anchor"] [class*="headline"],
[class*="dark"] h2,
[class*="dark"] [class*="headline"],
.final-headline,
.sr-intake__title {
  color: #fff !important;
}

/* FIX: Low-opacity text identified in audit */
.op-profile-kicker,
.hero-kicker {
  color: rgba(17, 17, 17, 0.78) !important;
  opacity: 1 !important;
}

.ct-head.ct-head--muted {
  color: rgba(17, 17, 17, 0.68) !important;
  opacity: 1 !important;
}

/* Strategic: fix low-opacity qualify labels */
.sr-qualify__spine-label,
.sr-qualify__gate--muted {
  color: rgba(17, 17, 17, 0.65) !important;
  opacity: 1 !important;
}

/* About: fix low-opacity arch captions */
.ab-arch__cap,
.ab-arch__cap--tl,
.ab-arch__cap--br {
  opacity: 0.85 !important;
}

/* About: fix section index opacity */
.ab-section__index {
  color: rgba(17, 17, 17, 0.45) !important;
  opacity: 1 !important;
}

/* Insights: fix low-opacity aside caption */
.ins-doctrine__aside-cap {
  opacity: 0.7 !important;
}

/* Approach: fix join label opacity (audit: 0.42) */
.ap-framework__join-label {
  color: rgba(17, 17, 17, 0.85) !important;
  opacity: 1 !important;
  font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
  font-weight: 600 !important;
}

/* Approach: fix hero kicker opacity (audit: 0.52) */
.ap-hero-kicker {
  opacity: 1 !important;
  color: rgba(17, 17, 17, 0.78) !important;
}

/* =========================================================================
   GLOBAL — Section vertical compression
   AUDIT: sections still 535-896px on live site. Need aggressive reduction.
   ========================================================================= */

section,
.section,
[class*="-section"]:not([class*="__"]),
[class*="-block"]:not(span):not(div[class*="stage"]) {
  padding-top: clamp(1.75rem, 3vw, 2.75rem) !important;
  padding-bottom: clamp(1.75rem, 3vw, 2.75rem) !important;
}

/* Remove excessive gaps between related sections */
section + section,
[class*="-section"] + [class*="-section"],
[class*="-block"] + [class*="-block"] {
  margin-top: 0 !important;
}

/* =========================================================================
   GLOBAL — Hero section height reduction
   AUDIT: Heroes measured at 544-896px. Target: 320-420px.
   ========================================================================= */

[class*="-hero"],
.hero {
  min-height: 0 !important;
  max-height: none;
  padding-top: clamp(1rem, 2vw, 1.75rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.75rem) !important;
}

/* Hero grids: tighter alignment */
[class*="hero__grid"],
[class*="hero-grid"],
.hero-split {
  gap: clamp(1.25rem, 3vw, 2.5rem) !important;
  align-items: center !important;
}

/* Hero body text: comfortable reading width */
[class*="hero"] [class*="__lead"],
[class*="hero"] [class*="-body"],
[class*="hero"] [class*="-sub"],
[class*="hero-body"],
[class*="hero-lead"],
.ap-hero-sub {
  max-width: 640px;
}

/* =========================================================================
   GLOBAL — Remove grid/graph-paper backgrounds
   ========================================================================= */

[class*="__structural-bg"],
[class*="__mesh"]:not([class*="sysmap"]),
[class*="grid-overlay"]::before,
[class*="__grid-mark"],
[class*="grid-wash"],
[class*="__grid-ref"] {
  display: none !important;
  opacity: 0 !important;
  background-image: none !important;
}

/* =========================================================================
   GLOBAL — Spacing: reduce white gaps
   ========================================================================= */

/* Reduce prose paragraph spacing */
[class*="prose"] p,
[class*="__body"] p {
  margin-top: 0.45rem !important;
  margin-bottom: 0.45rem !important;
}

/* Standout / emphasis blocks: tighter */
[class*="standout"],
[class*="__close"],
[class*="__resolve"],
[class*="prose__emph"],
[class*="prose--strong"] {
  margin-top: 0.85rem !important;
  margin-bottom: 0.25rem !important;
}

/* Rules: reduce spacing */
[class*="-rule"]:not(.bh-footer__rule),
.ap-rule, .sr-rule, .ab-rule, .ins-rule, .cpa-rule {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}

/* =========================================================================
   GLOBAL — Cards & Panels: equal height, reduced padding
   ========================================================================= */

/* Card containers: stretch for equal height */
[class*="__wall"],
[class*="__track"],
[class*="modules"],
.sr-flow__track {
  align-items: stretch !important;
}

/* Cards: reduce padding, remove unnecessary borders */
[class*="doctrine__cell"],
[class*="flow__stage"],
[class*="module"]:not(body),
[class*="xform__stage"] {
  padding: 1rem 0.85rem !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* =========================================================================
   GLOBAL — Diagram improvements
   AUDIT: SVG text sizes 9-13px, need 12-16px. Lines at 1px, need 2-3px.
   ========================================================================= */

/* Diagram text: larger, darker */
[class*="diag"] [class*="__title"],
[class*="diag"] [class*="__name"],
[class*="xform"] [class*="__name"],
[class*="flow"] [class*="__name"],
.sr-flow__name {
  font-size: clamp(1.0625rem, 1.3vw, 1.1875rem) !important;
  font-weight: 700 !important;
  color: #111 !important;
}

[class*="diag"] [class*="__text"],
[class*="diag"] [class*="__hint"],
[class*="diag"] [class*="__sub"],
[class*="diag"] [class*="__note"],
[class*="xform"] [class*="__text"],
[class*="flow"] [class*="__text"],
.sr-flow__text {
  font-size: clamp(0.9375rem, 1.1vw, 1.0625rem) !important;
  color: #2B2B2B !important;
  line-height: 1.5 !important;
  opacity: 1 !important;
}

/* Diagram labels: darker */
[class*="diag"] [class*="__phase"],
[class*="diag"] [class*="__tag"],
[class*="diag"] [class*="__pill"],
[class*="xform"] [class*="__phase"],
[class*="flow"] [class*="__phase"],
.sr-flow__phase {
  color: rgba(17, 17, 17, 0.78) !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* Diagram connector lines: thicker */
[class*="diag"] [class*="__link-line"],
[class*="diag"] [class*="__stem"],
[class*="diag"] [class*="__spine"] span,
[class*="diag"] [class*="__branch-line"],
[class*="xform"] [class*="__bridge-line"],
.sr-flow__bridge {
  min-height: 3px !important;
  min-width: 3px !important;
}

/* Diagram borders: reduced (audit: some have heavy borders) */
[class*="diag"],
[class*="xform"],
.sr-flow {
  border-width: 1px !important;
  border-color: rgba(17, 17, 17, 0.15) !important;
  padding: 1.25rem !important;
}

/* SVG diagrams: increase text size (AUDIT: About page SVG has 9-13px text) */
svg text {
  font-size: 14px !important;
}

svg text[font-size="9"],
svg text[font-size="10"] {
  font-size: 13px !important;
}

svg text[font-size="11"],
svg text[font-size="12"] {
  font-size: 14px !important;
}

svg text[font-size="13"] {
  font-size: 16px !important;
}

/* SVG lines: thicker */
svg line,
svg path[stroke]:not([fill]) {
  stroke-width: 2 !important;
}

/* =========================================================================
   GLOBAL — Colors: teal restraint + contrast
   ========================================================================= */

/* Ensure all body text is dark enough */
main p,
main li,
main .body-text {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* Dark section text: ensure visibility */
[class*="anchor"] p,
[class*="anchor"] li,
[class*="dark"] p,
[class*="dark"] li,
.final-body,
[class*="intake"] p,
[class*="intake"] li {
  color: rgba(235, 235, 235, 0.9) !important;
  opacity: 1 !important;
}

/* =========================================================================
   GLOBAL — CTA Sections: compact
   AUDIT: Dark sections measured at 513-553px. Target: ~300-400px.
   ========================================================================= */

[class*="anchor"],
[class*="final-section"],
.sr-intake {
  padding-top: clamp(2rem, 3.5vw, 2.75rem) !important;
  padding-bottom: clamp(2rem, 3.5vw, 2.75rem) !important;
}

/* Buttons: closer to content */
[class*="__actions"],
[class*="hero-actions"] {
  margin-top: 0.85rem !important;
}

/* =========================================================================
   FOOTER — AUDIT: 435-459px measured. Target: ~250-300px.
   Reduced height, 2-col layout, aligned content, no empty columns.
   ========================================================================= */

.bh-footer {
  margin-top: clamp(0.5rem, 1.5vw, 1rem) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.bh-footer__grid {
  grid-template-columns: 1fr 1fr !important;
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

/* Nav column: horizontal flow, no vertical borders */
.bh-footer .bh-footer__nav {
  border-left: none !important;
  border-right: none !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
  border-bottom: none !important;
  padding: 0.75rem 0 0 0 !important;
  margin-top: 0.5rem !important;
  grid-column: 1 / -1 !important;
}

.bh-footer__links {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.35rem 1rem !important;
}

.bh-footer__links a {
  padding: 0.15rem 0 !important;
  margin-left: 0 !important;
  border-left: none !important;
  font-size: 0.8125rem !important;
}

.bh-footer__links a:hover,
.bh-footer__links a:focus-visible {
  border-left: none !important;
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Intel/quote column */
.bh-footer__intel {
  padding-left: 1rem !important;
}

/* Reduce rule spacing */
.bh-footer__rule {
  margin-top: clamp(0.5rem, 1.5vw, 0.75rem) !important;
  height: 0.25rem !important;
}

/* Base copyright: tighter */
.bh-footer__base {
  margin-top: 0.25rem !important;
  padding-top: 0.35rem !important;
  padding-bottom: 0.5rem !important;
}

/* Footer pseudo-elements: reduce decorative weight */
.bh-footer::before,
.bh-footer::after {
  opacity: 0.15 !important;
}

.bh-footer__texture {
  opacity: 0.08 !important;
}

/* =========================================================================
   RESPONSIVE — Mobile refinements
   ========================================================================= */

@media (max-width: 768px) {
  /* Hero: reduced height on mobile */
  [class*="-hero"],
  .hero {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }

  /* Sections: reduced spacing */
  section,
  .section,
  [class*="-section"]:not([class*="__"]),
  [class*="-block"]:not(span):not(div[class*="stage"]) {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }

  /* Headings: readable without excessive line breaks */
  h1, [class*="hero-title"] {
    max-width: 100% !important;
    font-size: clamp(2.25rem, 8vw, 3.25rem) !important;
  }

  h2, .statement-heading {
    font-size: clamp(1.625rem, 5.5vw, 2.25rem) !important;
  }

  /* CTA: reduce space */
  [class*="anchor"],
  [class*="final-section"],
  .sr-intake {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  /* Footer: stack to single column on mobile */
  .bh-footer__grid {
    grid-template-columns: 1fr !important;
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }

  .bh-footer__links {
    flex-direction: column !important;
    gap: 0.35rem !important;
  }

  .bh-footer__intel {
    padding-left: 0 !important;
    border-left: none !important;
    border-top: 1px solid rgba(34, 162, 159, 0.35) !important;
    padding-top: 0.75rem !important;
  }

  /* Diagrams: ensure readability */
  [class*="diag"],
  [class*="xform"],
  .sr-flow {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Buttons: full width where appropriate */
  [class*="anchor"] [class*="-btn"],
  [class*="anchor"] [class*="submit"],
  .final-section [class*="-btn"] {
    width: 100% !important;
    text-align: center !important;
  }

  /* Strategic comparison: stack */
  .sr-compare {
    grid-template-columns: 1fr !important;
  }

  /* Strategic flow: stack */
  .sr-flow__track {
    grid-template-columns: 1fr !important;
  }

  .sr-flow__bridge {
    min-width: 0 !important;
    padding: 0.5rem 0 !important;
  }
}

@media (max-width: 480px) {
  [class*="-hero"],
  .hero {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  section,
  .section,
  [class*="-section"]:not([class*="__"]) {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  h1, [class*="hero-title"] {
    font-size: clamp(1.875rem, 9vw, 2.75rem) !important;
  }
}

/* =========================================================================
   PAGE: CONTACT
   AUDIT: Hero 544px (right side empty). Footer 455px. Email 20px dark.
   ========================================================================= */

/* Hero: add architectural image on right via pseudo-element */
body.contact-page .ct-hero {
  min-height: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

body.contact-page .ct-hero::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 42% !important;
  background-image: url("../../arch/web-image-4-diagonal-panels.png") !important;
  background-size: cover !important;
  background-position: center !important;
  opacity: 0.2 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  mask-image: linear-gradient(270deg, black 0%, black 40%, transparent 100%) !important;
  -webkit-mask-image: linear-gradient(270deg, black 0%, black 40%, transparent 100%) !important;
}

body.contact-page .ct-hero__shell {
  position: relative !important;
  z-index: 1 !important;
  max-width: 560px !important;
}

/* Reduce vertical line to match content */
body.contact-page .ct-hero__rail {
  max-height: 75% !important;
  top: 12% !important;
}

/* Hero mesh: hide */
body.contact-page .ct-hero__mesh {
  display: none !important;
}

/* Channel section: reduce padding */
body.contact-page .ct-intake {
  padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

/* Contact cards: reduced padding, even alignment */
body.contact-page .ct-channel {
  padding: 0.65rem 0 !important;
  margin-bottom: 0 !important;
}

body.contact-page .ct-channel:last-child {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Sidebar: remove bottom empty space */
body.contact-page .ct-sidebar {
  padding-bottom: 0 !important;
}

body.contact-page .ct-sidebar__head {
  margin-bottom: 0.75rem !important;
}

/* Form: alignment and field sizing */
body.contact-page .ct-form-panel__title {
  font-size: clamp(1.375rem, 2.2vw, 1.75rem) !important;
}

body.contact-page .ct-field__input {
  max-width: 460px !important;
  height: 2.6rem !important;
  padding: 0.55rem 0.7rem !important;
}

body.contact-page .ct-field__input--area,
body.contact-page textarea.ct-field__input {
  height: auto !important;
  min-height: 5.5rem !important;
}

body.contact-page .ct-field {
  margin-bottom: 0.65rem !important;
}

/* Submit closer to message */
body.contact-page .ct-form__actions {
  margin-top: 0.65rem !important;
}

/* Disclaimer directly below button */
body.contact-page .ct-legal {
  margin-top: 0.5rem !important;
  padding-top: 0.4rem !important;
  max-width: 460px !important;
}

/* Email address: more visible (AUDIT: currently 20px, color #111, needs more emphasis) */
body.contact-page .ct-channel__value a {
  font-size: clamp(1.125rem, 1.4vw, 1.25rem) !important;
  font-weight: 700 !important;
  color: #22A29F !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body.contact-page .ct-channel__value a:hover {
  color: #1a8a87 !important;
}

/* Channel numbering: smaller for hierarchy */
body.contact-page .ct-channel__sig {
  font-size: 0.8125rem !important;
  color: rgba(17, 17, 17, 0.45) !important;
}

/* Channel label: primary hierarchy */
body.contact-page .ct-channel__label {
  font-size: clamp(1.125rem, 1.3vw, 1.25rem) !important;
  font-weight: 600 !important;
  color: #111 !important;
}

/* =========================================================================
   PAGE: ABOUT
   AUDIT: Hero 575px, doctrine cells 127-128px (equal ✓), different section 
   has 151px heading vs 549px body (empty left). Dark section 535px.
   ========================================================================= */

/* Hero: reduce image block, align with heading */
body.about-page .ab-hero {
  min-height: 0 !important;
  padding-top: clamp(1rem, 2vw, 1.75rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

body.about-page .ab-hero__grid {
  align-items: center !important;
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}

body.about-page .ab-hero-visual {
  max-width: 340px !important;
  max-height: 260px !important;
  overflow: hidden !important;
}

/* Remove graph-paper background */
body.about-page .ab-hero__structural-bg {
  display: none !important;
}

/* Point of Origin: reduce space, keep one image */
body.about-page .ab-origin {
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
  align-items: center !important;
}

body.about-page .ab-origin__visual {
  max-width: 280px !important;
}

body.about-page .ab-emph {
  margin-top: 0.5rem !important;
}

/* What We Believe: equal-height panels, increased text */
body.about-page .ab-doctrine__wall {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
}

body.about-page .ab-doctrine__cell {
  padding: 0.85rem 0.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.about-page .ab-doctrine__stmt {
  font-size: clamp(1.1875rem, 1.4vw, 1.3125rem) !important;
  line-height: 1.45 !important;
  color: #111 !important;
}

/* What Makes This Different: FIX empty left (AUDIT: 151px heading vs 549px body) */
body.about-page .ab-different {
  display: grid !important;
  grid-template-columns: 1fr 1.5fr !important;
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
  align-items: start !important;
}

body.about-page .ab-different__statement {
  position: relative !important;
  padding-left: 1.25rem !important;
  border-left: 3px solid rgba(34, 162, 159, 0.5) !important;
  position: sticky !important;
  top: 100px !important;
}

body.about-page .ab-section--different .ab-section__accent-line {
  display: none !important;
}

/* What We Build diagram: increase text, reduce border */
body.about-page .ab-build__framework {
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  box-shadow: none !important;
  padding: 0.75rem !important;
}

body.about-page .ab-build__rail-tag {
  font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
  font-weight: 700 !important;
  color: rgba(17, 17, 17, 0.8) !important;
}

body.about-page .ab-build-close {
  margin-top: 0.5rem !important;
}

/* This Is Not Accounting: darker text, remove borders */
body.about-page .ab-notacc__prose p {
  color: rgba(245, 245, 240, 0.96) !important;
  font-size: clamp(1.3rem, 1.5vw, 1.5rem) !important;
}

body.about-page .ab-notacc__resolve {
  font-weight: 700 !important;
  color: #fff !important;
}

body.about-page .ab-notacc {
  border: none !important;
  box-shadow: none !important;
}

/* Structure Changes: reduce spacing before footer (AUDIT: dark section 535px) */
body.about-page .ab-anchor-dark {
  padding-top: clamp(1.75rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem) !important;
  margin-bottom: 0 !important;
}

body.about-page .ab-anchor-dark__continuity {
  margin-top: 0.75rem !important;
}

/* =========================================================================
   PAGE: STRATEGIC
   AUDIT: Hero 788px (very tall). Comparison both transparent bg.
   Dark section 553px. Flow cards 248x314px (equal ✓).
   ========================================================================= */

/* Hero: HEAVILY reduce height (788px → ~380px) */
body.strategic-page .sr-hero {
  min-height: 0 !important;
  padding-top: clamp(1rem, 2vw, 1.75rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

body.strategic-page .sr-hero__structural-bg {
  display: none !important;
}

/* Hero image: make larger */
body.strategic-page .sr-hero-visual {
  min-width: 300px !important;
  flex: 0 0 40% !important;
}

body.strategic-page .sr-hero-title {
  max-width: 100% !important;
}

body.strategic-page .sr-hero-actions {
  margin-top: 0.75rem !important;
}

/* Most Businesses: reduce bottom space */
body.strategic-page .sr-block--grid {
  padding-bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

/* What Fragmentation Produces: compact layout */
body.strategic-page .sr-fragmentation {
  padding-top: clamp(0.75rem, 1.5vw, 1.25rem) !important;
}

body.strategic-page .sr-fragmentation__inner {
  max-width: 720px !important;
}

body.strategic-page .sr-fragmentation__list {
  margin-top: 0.75rem !important;
  columns: 2 !important;
  column-gap: 2rem !important;
}

body.strategic-page .sr-fragmentation__list li {
  padding: 0.2rem 0 !important;
  break-inside: avoid !important;
}

/* What the Strategic Review Does: compact */
body.strategic-page .sr-list {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Directional Process Architecture: equal-height cards in grid */
body.strategic-page .sr-flow__track {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr auto 1fr !important;
  align-items: stretch !important;
  gap: 0 !important;
}

body.strategic-page .sr-flow__stage {
  display: flex !important;
  flex-direction: column !important;
  padding: 0.85rem !important;
}

body.strategic-page .sr-flow__bridge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 0.4rem !important;
  min-width: 50px !important;
}

body.strategic-page .sr-flow__bridge-tag {
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
}

body.strategic-page .sr-flow {
  padding: 1rem !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
}

/* Comparison: FULL WIDTH + PROPER COLORS (AUDIT: both transparent bg) */
body.strategic-page .sr-compare {
  max-width: 100% !important;
  width: 100% !important;
}

body.strategic-page .sr-compare__col--conventional {
  background: #f5f5f4 !important;
  color: #2B2B2B !important;
}

body.strategic-page .sr-compare__col--conventional .sr-compare__col-head {
  color: rgba(17, 17, 17, 0.6) !important;
}

body.strategic-page .sr-compare__col--strategic {
  background: #1a1a1a !important;
  border-left: 3px solid #22A29F !important;
}

body.strategic-page .sr-compare__col--strategic .sr-compare__col-head {
  color: rgba(235, 235, 235, 0.72) !important;
  border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}

body.strategic-page .sr-compare__col--strategic .sr-compare__items li {
  color: rgba(245, 245, 245, 0.94) !important;
}

/* Dark sections: compact (AUDIT: 553px → target ~300px) */
body.strategic-page .sr-anchor-dark {
  padding-top: clamp(1.75rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem) !important;
}

body.strategic-page .sr-intake {
  padding-top: clamp(1.75rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem) !important;
}

body.strategic-page .sr-intake__panel {
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 1.25rem !important;
}

/* Qualify section: fix low opacity labels */
body.strategic-page .sr-qualify__rail-tag {
  font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
  font-weight: 700 !important;
}

/* =========================================================================
   PAGE: INSIGHTS
   AUDIT: Hero 549px. Articles have staggered offsets. Registry numbering 0.4 opacity.
   ========================================================================= */

/* Hero: reduce + larger image */
body.insights-page .ins-hero {
  min-height: 0 !important;
  padding-top: clamp(1rem, 2vw, 1.75rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

body.insights-page .ins-hero-visual {
  min-width: 280px !important;
  flex: 0 0 38% !important;
}

body.insights-page .ins-hero__copy {
  flex: 1 !important;
}

body.insights-page .ins-hero__structural-bg {
  display: none !important;
}

/* Not a Content Library: teal line above close */
body.insights-page .ins-doctrine__close {
  padding-top: 0.75rem !important;
  border-top: 2px solid rgba(34, 162, 159, 0.45) !important;
  margin-top: 0.75rem !important;
}

body.insights-page .ins-doctrine__body p {
  margin-bottom: 0.4rem !important;
}

/* Featured Observations: clean horizontal rows (remove staggered offsets) */
body.insights-page .ins-registry__item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  padding: 0.85rem 0 !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
  transition: background-color 0.2s ease !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.insights-page .ins-registry__item:hover {
  background-color: rgba(17, 17, 17, 0.02) !important;
}

body.insights-page .ins-registry__item:last-child {
  border-bottom: none !important;
}

/* Remove staggered offsets from article items */
body.insights-page .ins-registry__list > li:nth-child(1),
body.insights-page .ins-registry__list > li:nth-child(2),
body.insights-page .ins-registry__list > li:nth-child(3),
body.insights-page .ins-registry__list > li:nth-child(4) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.insights-page .ins-feature-title {
  font-size: clamp(1.1875rem, 1.4vw, 1.375rem) !important;
  font-weight: 600 !important;
  color: #111 !important;
  line-height: 1.35 !important;
}

body.insights-page .ins-feature-title a {
  color: #111 !important;
  text-decoration: none !important;
}

body.insights-page .ins-feature-title a:hover {
  color: #22A29F !important;
}

body.insights-page .ins-feature-desc {
  font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
  color: #2B2B2B !important;
  line-height: 1.5 !important;
  margin-top: 0.2rem !important;
}

/* Remove card-like styling from articles */
body.insights-page .ins-registry__article {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Registry numbering (AUDIT: 0.4 opacity) */
body.insights-page .ins-registry__sig {
  font-size: 0.8125rem !important;
  color: rgba(17, 17, 17, 0.55) !important;
  font-weight: 600 !important;
  flex-shrink: 0 !important;
  padding-top: 0.15rem !important;
  opacity: 1 !important;
}

/* =========================================================================
   PAGE: CPA
   ========================================================================= */

/* Hero: bigger image, wider heading */
body.cpa-page .cpa-hero {
  min-height: 0 !important;
  padding-top: clamp(1rem, 2vw, 1.75rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

body.cpa-page .cpa-arch--hero {
  min-width: 300px !important;
  flex: 0 0 40% !important;
}

body.cpa-page .cpa-hero-h1 {
  max-width: 100% !important;
}

/* Relationship section: compact, larger labels */
body.cpa-page .cpa-rel-section {
  padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

body.cpa-page .cpa-rel-rail__tag {
  font-size: clamp(1rem, 1.2vw, 1.1875rem) !important;
  font-weight: 700 !important;
  color: #111 !important;
}

/* Fit section: remove unnecessary borders */
body.cpa-page .cpa-fit__panel {
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  padding: 1rem !important;
}

/* Partnership CTA: compact, remove grid pattern */
body.cpa-page .cpa-anchor {
  padding-top: clamp(1.75rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem) !important;
}

body.cpa-page .cpa-anchor__mark {
  display: none !important;
}

body.cpa-page .cpa-anchor__inner {
  max-width: 680px !important;
}

body.cpa-page .cpa-anchor__headline {
  margin-bottom: 0.6rem !important;
}

body.cpa-page .cpa-anchor__lead {
  margin-bottom: 0.75rem !important;
}

body.cpa-page .cpa-anchor__actions {
  display: flex !important;
  gap: 0.75rem !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

body.cpa-page .cpa-btn,
body.cpa-page [class*="cpa-btn"] {
  min-height: 2.5rem !important;
}

/* =========================================================================
   PAGE: HOME + OPERATING PROFILE
   AUDIT: Hero 747px. Footer 459px.
   ========================================================================= */

/* Hero: reduce (747px → ~400px), bigger image */
body.home .hero {
  min-height: 0 !important;
  padding-top: clamp(1rem, 2vw, 1.75rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.75rem) !important;
}

body.home .hero-split {
  padding-top: clamp(1rem, 2vw, 1.5rem) !important;
  padding-bottom: clamp(0.75rem, 1.5vw, 1.25rem) !important;
  gap: clamp(1rem, 3vw, 2rem) !important;
}

body.home .hero-visual {
  flex: 0 0 45% !important;
  min-height: clamp(180px, 24vw, 300px) !important;
}

body.home .hero-title {
  max-width: 100% !important;
}

/* Hero image: extend to edge */
body.home .hero-visual [class*="arch__crop"] {
  margin-right: calc(-1 * clamp(48px, 10vw, 160px)) !important;
  width: calc(100% + clamp(48px, 10vw, 160px)) !important;
}

/* Problem section: teal accent line above standout */
body.home .problem-standout {
  border-top: 2px solid rgba(34, 162, 159, 0.45) !important;
  padding-top: 0.85rem !important;
  margin-top: 0.85rem !important;
}

body.home .problem-section {
  padding-top: clamp(1.5rem, 2.5vw, 2.25rem) !important;
  padding-bottom: clamp(1.5rem, 2.5vw, 2.25rem) !important;
}

/* System section: reduce spacing */
body.home .system-section {
  padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

/* Comparison: increased text, teal on Britehouse side */
body.home .contrast-section {
  padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

body.home .ct-item {
  font-size: clamp(1.0625rem, 1.25vw, 1.1875rem) !important;
  color: #111 !important;
}

body.home .ct-head:not(.ct-head--muted) {
  color: #22A29F !important;
  border-bottom-color: rgba(34, 162, 159, 0.35) !important;
}

body.home .contrast-flow > div:last-child {
  border-left: 2px solid rgba(34, 162, 159, 0.35) !important;
  padding-left: 1.5rem !important;
}

/* How section: compact */
body.home .how-section {
  padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

/* Lens section: compact */
body.home .lens-section {
  padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

/* Operating Profile: 50/50 split */
body.home .op-profile-layout {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
  align-items: center !important;
}

body.home .op-profile {
  padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

/* Operating profile kicker: larger (AUDIT: 0.4 opacity) */
body.home .op-profile-kicker {
  font-size: clamp(0.9375rem, 1.1vw, 1.0625rem) !important;
  color: rgba(17, 17, 17, 0.78) !important;
  opacity: 1 !important;
}

/* Final CTA: compact */
body.home .final-section {
  padding-top: clamp(1.75rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem) !important;
}

body.home .final-actions {
  margin-top: 0.75rem !important;
}

/* =========================================================================
   PAGE: APPROACH
   AUDIT: Hero 896px (VERY tall). Framework boxes 338x384 (equal ✓).
   Pillars 272x400 (equal ✓). Dark CTA 513px. Join label 0.42 opacity.
   ========================================================================= */

/* Hero: HEAVILY reduce (896px → ~350px) */
body.approach .ap-hero {
  min-height: 0 !important;
  padding-top: clamp(1rem, 2vw, 1.75rem) !important;
  padding-bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

body.approach .ap-hero h1 {
  max-width: 100% !important;
}

body.approach .ap-hero-grid {
  gap: clamp(1rem, 2.5vw, 1.75rem) !important;
}

/* Add subtle arch image on right side of hero */
body.approach .ap-hero {
  position: relative !important;
  overflow: hidden !important;
}

body.approach .ap-hero::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 38% !important;
  background-image: url("../../arch/web-image-1-diamond-geometry.png") !important;
  background-size: cover !important;
  background-position: center !important;
  opacity: 0.12 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  mask-image: linear-gradient(270deg, black 0%, black 35%, transparent 100%) !important;
  -webkit-mask-image: linear-gradient(270deg, black 0%, black 35%, transparent 100%) !important;
}

body.approach .ap-hero-inner {
  position: relative !important;
  z-index: 1 !important;
}

/* Most Businesses: wider text, teal accent above "It is structural" */
body.approach .ap-prose__emph {
  padding-top: 0.65rem !important;
  border-top: 2px solid rgba(34, 162, 159, 0.45) !important;
  margin-top: 0.65rem !important;
}

body.approach .ap-split__main {
  max-width: 680px !important;
}

/* Reduce space below data section */
body.approach .ap-block--texture {
  padding-bottom: clamp(1.25rem, 2.5vw, 1.75rem) !important;
}

/* Operating Discipline: equal-size boxes */
body.approach .ap-framework__visual {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 0 !important;
  align-items: stretch !important;
}

body.approach .ap-framework__pillar {
  padding: 1rem 0.85rem !important;
}

body.approach .ap-framework__name {
  font-size: clamp(1.25rem, 1.5vw, 1.5rem) !important;
}

body.approach .ap-framework {
  margin-top: 1rem !important;
  margin-bottom: 0.75rem !important;
}

/* How Discipline Is Expressed: compact */
body.approach .ap-block--pillars {
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 1.75rem) !important;
}

body.approach .ap-pillars {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}

body.approach .ap-pillar {
  padding: 0.85rem !important;
}

body.approach .ap-pillar__list li {
  font-size: clamp(1rem, 1.15vw, 1.0625rem) !important;
  padding: 0.15rem 0 !important;
}

/* Dark CTA: compact (AUDIT: 513px → target ~250px) */
body.approach .ap-anchor {
  padding-top: clamp(1.75rem, 3vw, 2.5rem) !important;
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem) !important;
}

body.approach .ap-anchor__texture {
  opacity: 0.55 !important;
}

body.approach .ap-anchor__inner {
  max-width: 600px !important;
}

body.approach .ap-anchor__lead {
  max-width: 540px !important;
  margin-bottom: 0.75rem !important;
}

/* =========================================================================
   ACCESSIBILITY — Inherited from rev-2
   ========================================================================= */

/* Ensure focus visibility maintained */
*:focus-visible {
  outline: 2px solid rgba(34, 162, 159, 0.85) !important;
  outline-offset: 3px !important;
}
