/**
 * Britehouse — Production Revision
 * Master refinement layer · Load last on every page
 * Tightening · Image implementation · Typography · Spacing · Visual authority
 *
 * Load order: after all page-specific CSS (site-qa-final.css, *-brand.css, *-prod.css)
 * This file is the FINAL cascade layer site-wide.
 */

/* =========================================================================
   GLOBAL — Site-wide typography enforcement
   ========================================================================= */

/* Hero headlines: 72–84px · w500–600 · lh 1.0–1.08 */
h1,
.hero-title,
.ap-hero h1,
.ab-hero-title,
.sr-hero-title,
.ct-hero__title,
.ins-hero h1,
.op-hero h1,
.cpa-hero h1 {
  font-size: clamp(4.25rem, 6.5vw, 5.25rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.036em;
}

/* Section headlines: 44–56px · w500 · lh 1.08–1.15 */
h2,
.statement-heading,
.ap-h2, .ab-h2, .sr-h2,
.ct-sidebar__title,
.ct-form-panel__title,
.ins-h2, .op-h2, .cpa-h2 {
  font-size: clamp(2.75rem, 4.2vw, 3.5rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.028em;
}

/* Body copy: 20–24px · lh 1.45–1.6 */
.body-text,
.ap-prose p,
.ab-prose p,
.sr-prose p,
.ct-channel__desc,
.ins-prose p,
.op-prose p,
.cpa-prose p,
p:not([class]) {
  font-size: clamp(1.25rem, 1.4vw, 1.5rem);
  line-height: 1.52;
}

/* Supporting labels / eyebrows: 13–15px · 0.08–0.12em · uppercase */
.eyebrow,
.hero-kicker,
.ap-hero-kicker,
.ab-kicker,
.sr-hero-kicker,
.sr-methodology__label,
.sr-qualify__label,
.ct-hero__kicker,
.ct-form-panel__eyebrow,
.sr-intake__kicker,
.sr-anchor-dark__kicker,
.ap-anchor__kicker,
.ins-anchor__kicker,
.cpa-anchor__kicker,
.ab-anchor-dark__kicker,
.bh-footer__kicker,
.op-profile-kicker,
.ab-build__label,
.ab-doctrine__eyebrow {
  font-size: clamp(0.8125rem, 0.9vw, 0.9375rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Button text: 14–16px · medium · slight tracking */
.btn-primary, .btn-final-primary,
.ap-btn, .sr-btn, .sr-form-submit,
.ct-form-submit, .op-btn, .cpa-btn,
[class*="-btn"], [class*="-submit"],
.bh-btn {
  font-size: clamp(0.875rem, 1vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}

/* =========================================================================
   GLOBAL — Section vertical compression (25–35% tighter site-wide)
   ========================================================================= */

section,
.section,
[class*="-section"],
[class*="-block"]:not(span):not(div.sr-flow__stage) {
  padding-top: clamp(2.5rem, 4.5vw, 4rem);
  padding-bottom: clamp(2.5rem, 4.5vw, 4rem);
}

/* =========================================================================
   GLOBAL — Button sizing: reduce 20% site-wide, no oversized CTAs
   ========================================================================= */

.btn-primary, .btn-final-primary,
.ap-btn, .sr-btn, .sr-form-submit,
.ct-form-submit,
.bh-btn,
[class*="-btn--"],
[class*="-submit"] {
  padding: 0.65rem 1.4rem;
  min-height: 2.4rem;
}

/* =========================================================================
   GLOBAL — Footer: tighter rhythm, stronger text contrast
   ========================================================================= */

.bh-footer__grid {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  gap: 2rem;
}

.bh-footer__logo,
.bh-footer__tagline,
.bh-footer__systems,
.bh-footer__links a,
.bh-footer__quote,
.bh-footer__copy {
  color: rgba(245, 245, 240, 0.94) !important;
}

.bh-footer__links a {
  opacity: 1;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
}

.bh-footer__links a:hover {
  color: #fff !important;
}

.bh-footer__tagline,
.bh-footer__systems {
  color: rgba(245, 245, 240, 0.82) !important;
}

.bh-footer__copy {
  color: rgba(245, 245, 240, 0.62) !important;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
}

.bh-footer__base {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.bh-footer__rule {
  opacity: 0.22;
}

/* =========================================================================
   GLOBAL — Color system: teal restraint enforcement
   Teal only as structural accents, dividers, markers. Never large fills.
   ========================================================================= */

/* Ensure no full teal backgrounds remain on any element */
[class*="-section"]:not(.teal-accent),
[class*="-block"]:not(.teal-accent),
[class*="-band"]:not(.teal-accent) {
  background-color: var(--bh-bg, #fff);
}

/* Teal vertical divider utility (used in Problem section, Strategic) */
.bh-teal-divider {
  display: block;
  position: absolute;
  left: 0;
  top: 10%;
  bottom: 10%;
  width: 2px;
  background: linear-gradient(180deg, transparent 0%, var(--bh-accent) 15%, var(--bh-accent) 85%, transparent 100%);
  opacity: 0.55;
  pointer-events: none;
}

/* =========================================================================
   PAGE 1 — HOMEPAGE
   ========================================================================= */

/* Hero: reduce vertical height 20%, right-bleed image visible */
body.home .hero {
  min-height: min(460px, 62vh);
}

body.home .hero-split {
  padding-top: clamp(1.5rem, 3vw, 2.75rem);
  padding-bottom: clamp(1rem, 2vw, 1.75rem);
}

/* Hero image (Image 1 — Diamond Geometry): right bleed, visible structure */
body.home .hero-visual .bh-arch__crop {
  min-height: clamp(200px, 28vw, 360px);
  background-image: url("assets/arch/web-image-1-diamond-geometry.png");
  background-size: 120% auto;
  background-position: 72% 40%;
  opacity: 0.82;
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
}

/* Remove excessive empty white gaps */
body.home .hero-visual {
  min-height: clamp(220px, 30vw, 380px);
}

/* Hero buttons: reduce width 20% */
body.home .hero-main .btn-primary,
body.home .hero-main [class*="-btn"] {
  padding: 0.65rem 1.35rem;
  min-width: 0;
}

/* Problem Section: thin teal vertical divider left of copy, no large image,
   compress spacing between paragraph groups */
body.home .problem-section {
  position: relative;
  padding-top: clamp(2rem, 3.8vw, 3.25rem);
  padding-bottom: clamp(2rem, 3.8vw, 3.25rem);
}

/* Thin teal vertical line left of copy */
body.home .problem-copy {
  position: relative;
  padding-left: 1.25rem;
  border-left: 2px solid rgba(34, 162, 159, 0.45);
}

/* Compress paragraph spacing in problem section */
body.home .problem-copy > p,
body.home .problem-copy .body-text {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: clamp(1.25rem, 1.4vw, 1.5rem);
  line-height: 1.52;
}

body.home .problem-standout {
  margin: 1.5rem 0;
  padding: 1.25rem 0 1.25rem 1rem;
}

/* "This Isn't Accounting" / pos-section: Image 2 — Blue Structural Grid,
   right side, 20% opacity, reduce height 25% */
body.home .pos-section {
  position: relative;
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
  overflow: hidden;
}

body.home .pos-section::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 52%;
  pointer-events: none;
  z-index: 0;
  background-image: url("assets/arch/web-image-2-blue-grid.png");
  background-repeat: no-repeat;
  background-position: 92% 50%;
  background-size: cover;
  opacity: 0.2;
  mask-image: linear-gradient(270deg, black 0%, black 50%, transparent 100%);
  -webkit-mask-image: linear-gradient(270deg, black 0%, black 50%, transparent 100%);
}

body.home .pos-layout,
body.home .pos-copy {
  position: relative;
  z-index: 1;
}

/* Financial Performance System: remove oversized container, tighten spacing,
   add faint teal horizontal rule above heading */
body.home .system-section {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

body.home .system-copy > h2::before,
body.home .system-section .statement-heading::before {
  content: "";
  display: block;
  width: 4rem;
  height: 1px;
  background: linear-gradient(90deg, var(--bh-accent) 0%, var(--bh-accent) 40%, rgba(17,17,17,0.12) 40%, rgba(17,17,17,0.12) 100%);
  margin-bottom: 1rem;
}

body.home .system-layout {
  gap: clamp(2rem, 4vw, 3.5rem);
}

/* Comparison Section: tighter two-column editorial comparison, no card bulk */
body.home .contrast-section {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

body.home .contrast-flow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  border-top: 1px solid rgba(17,17,17,0.1);
  padding-top: 1.5rem;
}

body.home .ct-head {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(17,17,17,0.1);
  margin-bottom: 0.75rem;
}

body.home .ct-item {
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  padding: 0.3rem 0;
  border-bottom: none;
}

/* Who We Work With: Image 3 — Reflective Gold, far right bleed, 15% opacity */
body.home .op-profile {
  position: relative;
  overflow: hidden;
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

body.home .op-profile::after {
  content: "";
  position: absolute;
  top: 0;
  right: -5%;
  bottom: 0;
  width: 50%;
  pointer-events: none;
  z-index: 0;
  background-image: url("assets/arch/web-image-3-gold-reflective.png");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: cover;
  opacity: 0.15;
  mask-image: linear-gradient(270deg, black 0%, black 40%, transparent 100%);
  -webkit-mask-image: linear-gradient(270deg, black 0%, black 40%, transparent 100%);
}

body.home .op-profile-layout,
body.home .op-profile-inner {
  position: relative;
  z-index: 1;
}

/* Final CTA: charcoal background, Image 5 — Dark Architectural Texture,
   smaller buttons */
body.home .final-section {
  padding-top: clamp(3rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

body.home .final-section__texture {
  background:
    linear-gradient(100deg, rgba(10,10,10,0.78) 0%, rgba(10,10,10,0.44) 50%, rgba(10,10,10,0.22) 80%, transparent 100%),
    url("assets/arch/web-image-5-diamond-panel.png");
  background-size: 100% 100%, cover;
  background-position: center, 68% 32%;
  opacity: 0.5;
}

body.home .btn-final-primary {
  padding: 0.65rem 1.4rem;
  font-size: 0.9375rem;
}

/* =========================================================================
   PAGE 2 — APPROACH
   ========================================================================= */

/* Hero: Image 1 — Diamond Geometry, right bleed, reduce height 15% */
body.approach .ap-hero {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
  min-height: min(400px, 58vh);
}

body.approach .ap-arch__crop,
body.approach .ap-hero-visual__figure .ap-arch__crop {
  background-image: url("assets/arch/web-image-1-diamond-geometry.png");
  background-size: 125% auto;
  background-position: 75% 42%;
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
  opacity: 0.85;
}

body.approach .ap-hero-grid {
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3rem);
}

/* Framework Cards: reduce height 30%, increase text, reduce padding */
body.approach .ap-framework {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

body.approach .ap-framework__visual {
  padding: 1.5rem 1.25rem;
}

body.approach .ap-framework__pillar {
  padding: 1.25rem 1rem;
  min-height: 0;
}

body.approach .ap-framework__name {
  font-size: clamp(1.125rem, 1.4vw, 1.375rem);
  font-weight: 600;
}

body.approach .ap-framework__desc,
body.approach .ap-framework__points li {
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.52;
}

body.approach .ap-framework__base {
  padding: 0.75rem 1rem;
}

/* Approach pillars section: tighter */
body.approach .ap-block--pillars {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

body.approach .ap-pillar {
  padding: 1.25rem 1rem;
}

/* Enterprise Decomposition Section: increase diagram contrast, stronger lines */
body.approach .ap-block--texture {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

body.approach .ap-rule {
  opacity: 0.85;
  height: 2px;
}

/* Dark Transition Section: Image 5 */
body.approach .ap-anchor__texture {
  opacity: 1;
}

body.approach .ap-anchor__texture::after {
  opacity: 0.5;
  filter: grayscale(0.1) contrast(1.15);
}

body.approach .ap-anchor {
  padding-top: clamp(3rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

/* Approach footer: reduce spacing, increase text contrast */
body.approach .bh-footer .bh-footer__grid {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/* =========================================================================
   PAGE 3 — OPERATING PROFILE (index.html #operating-profile section)
   ========================================================================= */

/* Remove ALL office/workspace images from operating profile section */
body.home .op-profile-arch .bh-env__photo,
body.home .op-profile-arch img {
  display: none !important;
}

/* Replace with Diamond Geometry (Image 1) — right asymmetrical crop */
body.home .op-profile-arch .bh-arch__crop {
  background-image: url("assets/arch/web-image-1-diamond-geometry.png");
  background-size: 130% auto;
  background-position: 80% 42%;
  opacity: 0.8;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}

/* Also support a dedicated operating-profile page if it exists */
body.op-profile-page .hero {
  min-height: min(420px, 60vh);
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

body.op-profile-page [class*="__arch"],
body.op-profile-page [class*="hero-visual"] [class*="__crop"] {
  background-image: url("assets/arch/web-image-1-diamond-geometry.png");
  background-size: 125% auto;
  background-position: 78% 40%;
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
  opacity: 0.85;
}

/* Middle sections: compress spacing 30% */
body.home .how-section {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

body.home .how-editorial {
  gap: clamp(1.5rem, 3vw, 2.5rem);
  margin-top: 1.5rem;
}

body.home .how-editorial__col p {
  font-size: clamp(1.25rem, 1.4vw, 1.375rem);
  line-height: 1.52;
}

/* Text blocks: body 22px, reduce fragmented line breaks */
body.home .op-profile-body p {
  font-size: clamp(1.25rem, 1.4vw, 1.375rem);
  line-height: 1.52;
  margin-bottom: 0.75rem;
}

/* CTA areas: tighten, align to text */
body.home .op-profile .bh-btn,
body.home .op-profile [class*="-btn"] {
  padding: 0.6rem 1.25rem;
  align-self: flex-start;
  margin-top: 0.75rem;
}

/* =========================================================================
   PAGE 4 — FOR CPA FIRMS
   ========================================================================= */

/* Grid background: REMOVE ENTIRELY from CPA page */
body.cpa-page [class*="grid-overlay"],
body.cpa-page [class*="__grid-mark"],
body.cpa-page .bh-grid-overlay::before,
body.cpa-page [class*="__mesh"]:not([class*="sysmap"]) {
  display: none !important;
  opacity: 0 !important;
}

/* Diagram sections: increase line weight, contrast, clarity */
body.cpa-page [class*="diag"] rect,
body.cpa-page [class*="diag"] line,
body.cpa-page [class*="diag"] path,
body.cpa-page .cpa-sysmap line,
body.cpa-page .cpa-sysmap path,
body.cpa-page .cpa-sysmap rect {
  stroke-width: 1.5;
  opacity: 0.95;
}

body.cpa-page svg text {
  fill: rgba(245, 245, 245, 0.98);
}

/* White space: reduce all large vertical gaps by ~30% */
body.cpa-page section,
body.cpa-page .cpa-section,
body.cpa-page [class*="cpa-block"] {
  padding-top: clamp(2rem, 3.5vw, 3.25rem);
  padding-bottom: clamp(2rem, 3.5vw, 3.25rem);
}

/* Image: Blue Structural Geometry behind systems/framework sections, 15–20% opacity */
body.cpa-page .cpa-effort-grid,
body.cpa-page .cpa-lens-block,
body.cpa-page .cpa-section.cpa-section--grid:not(.cpa-rel-section),
body.cpa-page .cpa-modules-wrap,
body.cpa-page .cpa-transform {
  position: relative;
  overflow: hidden;
}

body.cpa-page .cpa-effort-grid::before,
body.cpa-page .cpa-lens-block::before,
body.cpa-page .cpa-section.cpa-section--grid:not(.cpa-rel-section)::before,
body.cpa-page .cpa-modules-wrap::before,
body.cpa-page .cpa-transform::before {
  background-image: url("assets/arch/web-image-2-blue-grid.png");
  background-size: min(60%, 740px) auto;
  background-position: 94% 42%;
  opacity: 0.18;
}

/* CTA areas: integrate into composition, no floating isolated buttons */
body.cpa-page .cpa-anchor,
body.cpa-page [class*="-anchor"] {
  padding-top: clamp(3rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

body.cpa-page .cpa-btn,
body.cpa-page [class*="-btn"] {
  padding: 0.65rem 1.4rem;
}

/* =========================================================================
   PAGE 5 — INSIGHTS
   ========================================================================= */

/* Reduce visible boxes: flatten content into editorial layout */
body.insights-page [class*="-card"],
body.insights-page [class*="-module"],
body.insights-page [class*="-observe"] {
  border: none;
  box-shadow: none;
  border-radius: 0;
  background: transparent;
}

body.insights-page .ins-observe {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
  border-top: 1px solid rgba(17,17,17,0.08);
  border-bottom: none;
  border-left: none;
  border-right: none;
}

/* Grid background: reduce opacity significantly */
body.insights-page [class*="grid-overlay"]::before,
body.insights-page [class*="__mesh"] {
  opacity: 0.06 !important;
}

/* Dark Transition Section: use Image 5 between article blocks */
body.insights-page .ins-anchor {
  padding-top: clamp(3rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

body.insights-page .ins-anchor__texture::after {
  opacity: 0.5;
  filter: grayscale(0.1) contrast(1.15);
}

/* Observation Modules: reduce card styling, increase asymmetry */
body.insights-page [class*="ins-observe__"] {
  border: 1px solid rgba(17,17,17,0.08);
  box-shadow: none;
}

/* Reflective Gold Transition Band: one band only (Image 3) */
body.insights-page .ins-observe::after {
  opacity: 0.15;
}

/* =========================================================================
   PAGE 6 — STRATEGIC
   ========================================================================= */

/* Compress mid-page spacing 25% */
body.strategic-page .sr-block {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

/* "What Fragmentation Produces" section: bullet list, no icons, white bg,
   teal divider left */
body.strategic-page .sr-fragmentation {
  background: var(--bh-bg, #fff);
  position: relative;
  padding-left: 0;
}

body.strategic-page .sr-fragmentation__inner {
  position: relative;
  padding-left: 1.25rem;
  border-left: 2px solid rgba(34, 162, 159, 0.45);
}

body.strategic-page .sr-fragmentation__list {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0 0;
}

body.strategic-page .sr-fragmentation__list li {
  font-size: clamp(1.125rem, 1.3vw, 1.375rem);
  line-height: 1.52;
  padding: 0.35rem 0;
  color: var(--bh-text, #111);
  border-bottom: 1px solid rgba(17,17,17,0.06);
}

body.strategic-page .sr-fragmentation__list li:last-child {
  border-bottom: none;
}

/* Directional Architecture Diagram: increase contrast, simplify labels */
body.strategic-page .sr-flow__stage {
  border: 1px solid rgba(17,17,17,0.16);
}

body.strategic-page .sr-flow__stage--a,
body.strategic-page .sr-flow__stage--b,
body.strategic-page .sr-flow__stage--c {
  padding: 1.25rem 1rem;
}

body.strategic-page .sr-flow__name {
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  font-weight: 600;
  color: var(--bh-ink, #111);
}

body.strategic-page .sr-flow__text {
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  line-height: 1.52;
}

body.strategic-page .sr-flow__bridge {
  border-top: 1px solid rgba(34, 162, 159, 0.35);
}

/* Comparison Block: two-column editorial */
body.strategic-page .sr-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(17,17,17,0.12);
  margin-top: 1.5rem;
}

body.strategic-page .sr-compare__col {
  padding: 1.5rem 1.25rem;
  border-right: 1px solid rgba(17,17,17,0.1);
}

body.strategic-page .sr-compare__col:last-child {
  border-right: none;
}

body.strategic-page .sr-compare__col--strategic {
  border-left: 2px solid rgba(34, 162, 159, 0.45);
}

body.strategic-page .sr-compare__col-head {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(17,17,17,0.65);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(17,17,17,0.1);
}

body.strategic-page .sr-compare__items {
  list-style: none;
  padding: 0;
  margin: 0;
}

body.strategic-page .sr-compare__items li {
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  line-height: 1.52;
  padding: 0.3rem 0;
  color: var(--bh-text, #111);
}

/* Dark anchor */
body.strategic-page .sr-anchor-dark {
  padding-top: clamp(3rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

/* =========================================================================
   PAGE 7 — ABOUT
   ========================================================================= */

/* ALL text contrast: raise by 30–40% */
body.about-page,
body.about-page p,
body.about-page h1,
body.about-page h2,
body.about-page h3,
body.about-page li {
  color: var(--bh-ink, #111111);
}

body.about-page .ab-prose p,
body.about-page .ab-different__lead,
body.about-page .ab-different__claim,
body.about-page .ab-build__deck {
  color: var(--bh-ink-2, #2B2B2B);
  opacity: 1;
}

/* Hero Structural Plane: increase edge visibility */
body.about-page .ab-hero {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
  min-height: min(420px, 60vh);
}

body.about-page .ab-arch__crop {
  opacity: 0.72;
}

body.about-page .ab-arch__mesh {
  opacity: 0.55 !important;
}

body.about-page .ab-arch__facets,
body.about-page .ab-arch__facet {
  opacity: 0.48 !important;
}

/* About: use Image 4 — Diagonal Dual-Panel */
body.about-page .ab-hero-visual .ab-arch__crop,
body.about-page .ab-section--origin .ab-origin__visual .ab-arch__crop {
  background-image: url("assets/arch/web-image-4-diagonal-panels.png");
  background-size: 125% auto;
  background-position: 78% 40%;
}

/* Doctrine Cards: increase border visibility, text opacity, card separation */
body.about-page .ab-doctrine__cell {
  border: 1px solid rgba(17,17,17,0.18);
  padding: 1.25rem 1rem;
}

body.about-page .ab-doctrine__mark {
  color: rgba(17,17,17,0.55);
  opacity: 1;
}

body.about-page .ab-doctrine__stmt {
  color: var(--bh-ink, #111);
  font-weight: 500;
  opacity: 1;
}

body.about-page .ab-doctrine__wall {
  gap: 1px;
  border: 1px solid rgba(17,17,17,0.12);
}

/* "This Is Not Accounting" section: increase heading visibility, reduce empty spacing */
body.about-page .ab-section--notacc {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

body.about-page .ab-head--invert,
body.about-page .ab-notacc .ab-h2,
body.about-page [id="ab-s-not"] {
  color: #fff;
  opacity: 1;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

body.about-page .ab-kicker--invert {
  opacity: 0.8;
  letter-spacing: 0.12em;
}

body.about-page .ab-notacc__prose p,
body.about-page .ab-notacc__resolve {
  color: rgba(245,245,240,0.88);
  opacity: 1;
}

/* Section spacing: reduce empty spacing */
body.about-page .ab-section {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
}

/* About anchor dark */
body.about-page .ab-anchor-dark {
  padding-top: clamp(3rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

body.about-page .ab-anchor-dark__headline {
  color: #fff;
  opacity: 1;
}

body.about-page .ab-anchor-dark__body p {
  color: rgba(245,245,240,0.88);
  opacity: 1;
}

/* About footer contrast */
body.about-page .bh-footer--about .bh-footer__logo,
body.about-page .bh-footer--about .bh-footer__tagline,
body.about-page .bh-footer--about .bh-footer__systems,
body.about-page .bh-footer--about .bh-footer__links a,
body.about-page .bh-footer--about .bh-footer__quote {
  color: rgba(245,245,240,0.96) !important;
  opacity: 1;
}

/* =========================================================================
   PAGE 8 — CONTACT
   ========================================================================= */

/* Hero: reduce height 20% */
body.contact-page .ct-hero {
  padding-top: clamp(2rem, 3.5vw, 3rem);
  padding-bottom: clamp(2rem, 3.5vw, 3rem);
  min-height: min(280px, 40vh);
}

/* Contact Form: increase field border visibility */
body.contact-page .ct-field__input {
  border: 1px solid rgba(17,17,17,0.35);
  background: rgba(255,255,255,0.98);
  font-size: clamp(1rem, 1.1vw, 1.0625rem);
  padding: 0.65rem 0.75rem;
  color: var(--bh-ink, #111);
  transition: border-color 0.22s ease;
}

body.contact-page .ct-field__input:focus {
  border-color: var(--bh-accent, #22A29F);
  outline: none;
  box-shadow: 0 0 0 2px rgba(34,162,159,0.14);
}

/* Reduce textarea height 15% */
body.contact-page .ct-field__input--area {
  min-height: 7.5rem;
  resize: vertical;
}

/* Field spacing consistency */
body.contact-page .ct-field {
  margin-bottom: 1rem;
}

body.contact-page .ct-field__label {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--bh-ink-2, #2B2B2B);
  margin-bottom: 0.35rem;
  display: block;
}

/* Submit Button: reduce width 15%, sharper edges */
body.contact-page .ct-form-submit {
  padding: 0.65rem 1.4rem;
  min-width: 0;
  width: auto;
  border-radius: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

body.contact-page .ct-form__actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 1.25rem;
}

/* Disclaimer Text: increase contrast, reduce dead space */
body.contact-page .ct-legal {
  font-size: 0.8125rem;
  color: rgba(17,17,17,0.62);
  margin-top: 1rem;
  line-height: 1.55;
  padding-top: 0;
  border-top: 1px solid rgba(17,17,17,0.08);
  padding-top: 0.75rem;
}

/* Footer: increase visibility of nav, support text, dividers */
body.contact-page .bh-footer .bh-footer__links a {
  color: rgba(245,245,240,0.94) !important;
}

body.contact-page .bh-footer .bh-footer__rule {
  background: rgba(245,245,240,0.2);
  opacity: 1;
}

/* =========================================================================
   GLOBAL — Remove disallowed elements site-wide (final enforcement)
   ========================================================================= */

/* Remove office/people/business photography */
img[src*="assets/home/"],
img[src*="unsplash"],
img[src*="pexels"],
img[src*="office"],
img[src*="workspace"],
img[src*="business-desk"],
img[src*="people"],
.bh-env__photo {
  display: none !important;
}

/* Remove oversized white gaps */
[class*="-spacer--xl"],
[class*="-spacer--xxl"],
[class*="-gap--xl"] {
  height: 0 !important;
  margin: 0 !important;
}

/* Remove SaaS card styling: no border-radius > 2px, no box-shadows on cards */
[class*="-card"]:not([class*="doctrine"]):not([class*="channel"]) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* =========================================================================
   GLOBAL — Teal structural accents (only valid usage)
   ========================================================================= */

/* Horizontal teal rule accent above section headings where requested */
.bh-teal-rule-before::before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 1px;
  background: linear-gradient(90deg, var(--bh-accent) 0%, var(--bh-accent) 42%, rgba(17,17,17,0.1) 42%, rgba(17,17,17,0.1) 100%);
  margin-bottom: 1rem;
}

/* Teal left-border rail for editorial divider sections */
.bh-teal-rail {
  border-left: 2px solid rgba(34, 162, 159, 0.45);
  padding-left: 1.25rem;
}

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

@media (max-width: 768px) {
  h1,
  .hero-title,
  .ap-hero h1,
  .ab-hero-title,
  .sr-hero-title,
  .ct-hero__title {
    font-size: clamp(2.75rem, 8vw, 4rem);
  }

  h2,
  .statement-heading,
  .ap-h2, .ab-h2, .sr-h2 {
    font-size: clamp(1.875rem, 6vw, 2.75rem);
  }

  body.home .contrast-flow {
    grid-template-columns: 1fr;
  }

  body.strategic-page .sr-compare {
    grid-template-columns: 1fr;
  }

  body.strategic-page .sr-compare__col {
    border-right: none;
    border-bottom: 1px solid rgba(17,17,17,0.1);
  }

  body.contact-page .ct-form-submit {
    width: 100%;
  }

  body.home .pos-section::after,
  body.home .op-profile::after {
    display: none;
  }
}

@media (max-width: 480px) {
  section,
  .section,
  [class*="-section"],
  [class*="-block"]:not(span):not(div.sr-flow__stage) {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .bh-footer__grid {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }
}
