﻿/**
 * CPA Firms page â€” Production Revision
 * Scoped: body.cpa-page Â· load LAST on cpa.html (after cpa-phase7.css)
 *
 * Removes all grid backgrounds, replaces the CSS grid pattern with the
 * approved Blue Structural Geometry image behind the systems / architecture /
 * comparison bands (15â€“20%), raises diagram contrast and line weight,
 * compresses vertical rhythm ~30%, and settles the CTA into the composition.
 * No layout, copy or section-order changes.
 */

/* =========================================================================
   Remove the entire grid background
   ========================================================================= */
body.cpa-page .cpa-hero__structural-bg,
body.cpa-page .cpa-hero::before,
body.cpa-page .cpa-section--grid::after,
body.cpa-page .cpa-dgap__grid-ref,
body.cpa-page .cpa-dlens__grid-ref,
body.cpa-page .cpa-dmat__grid-ref{
  display:none !important;
}

/* =========================================================================
   Blue Structural Geometry image â€” systems Â· architecture Â· comparison
   (replaces the CSS grid pattern Â· opacity 15â€“20% Â· secondary to type)
   ========================================================================= */
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-rel-section::before,
body.cpa-page .cpa-transform::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:0.18;
  background-image: url("../../arch/web-image-2-blue-grid.png");
  background-repeat:no-repeat;
  background-position:96% 32%;
  background-size:min(56%,720px) auto;
  mask-image:linear-gradient(90deg,transparent 0%,black 42%,black 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 42%,black 100%);
  filter:grayscale(0.1) contrast(1.05);
}

/* =========================================================================
   Vertical spacing â€” compress ~30% (uniform, layout preserved)
   ========================================================================= */
body.cpa-page{
  --cpa-p7-section-y:clamp(calc(var(--bh-unit) * 7),6.4vw,calc(var(--bh-unit) * 22));
  --cpa-p7-section-y-mid:clamp(calc(var(--bh-unit) * 5.6),3.5vw,calc(var(--bh-unit) * 12));
  --cpa-p7-split-gap:clamp(var(--bh-space-5),4.6vw,var(--bh-space-7));
}

body.cpa-page .cpa-hero__shell{
  padding:clamp(36px,6.4vw,70px) 0 clamp(28px,4.6vw,50px);
}

body.cpa-page .cpa-effort-grid{
  padding-top:clamp(calc(var(--bh-unit) * 7),6.4vw,var(--bh-space-7));
  padding-bottom:var(--cpa-p7-section-y);
}

/* =========================================================================
   Diagram clarity â€” higher contrast Â· heavier line weight
   ========================================================================= */
body.cpa-page .cpa-diag,
body.cpa-page .cpa-xform{
  border-color:rgba(17,17,17,0.4);
}

body.cpa-page .cpa-dgap__panel,
body.cpa-page .cpa-dlens__signal,
body.cpa-page .cpa-dlens__core,
body.cpa-page .cpa-dlens__leaf,
body.cpa-page .cpa-dmat__col,
body.cpa-page .cpa-xform__stage{
  border-color:rgba(17,17,17,0.44);
}

body.cpa-page .cpa-dlens__core{
  border-left:3px solid var(--bh-accent);
}

body.cpa-page .cpa-dlens__leaf--dark{
  border-left-width:3px;
}

/* line weight â€” connectors, spines, stems, branches, baselines */
body.cpa-page .cpa-dgap__link-line{
  height:3px;
  background:linear-gradient(90deg,transparent,rgba(17,17,17,0.78) 15%,rgba(17,17,17,0.78) 85%,transparent);
}

body.cpa-page .cpa-dgap__stem,
body.cpa-page .cpa-dlens__spine span,
body.cpa-page .cpa-dlens__branch-line{
  width:3px;
  background:linear-gradient(180deg,rgba(17,17,17,0.85),rgba(17,17,17,0.4));
}

body.cpa-page .cpa-dlens__branch-line--accent{
  background:linear-gradient(180deg,var(--cpa-teal),rgba(34,162,159,0.5));
}

body.cpa-page .cpa-dgap__joint{
  width:9px;
  height:9px;
  box-shadow:0 0 0 2px rgba(34,162,159,0.28);
}

body.cpa-page .cpa-dmat__arrow span,
body.cpa-page .cpa-dlens__recon-path{
  height:3px;
}

body.cpa-page .cpa-dgap__baseline,
body.cpa-page .cpa-dlens__baseline,
body.cpa-page .cpa-dmat__baseline{
  background:rgba(17,17,17,0.4);
}

body.cpa-page .cpa-dmat__viz--frag span{
  border-color:rgba(17,17,17,0.58);
}

body.cpa-page .cpa-dmat__viz--couple span:not(.cpa-dmat__hub){
  border-color:rgba(17,17,17,0.66);
}

body.cpa-page .cpa-dmat__viz--couple::before,
body.cpa-page .cpa-dmat__viz--couple::after{
  background:rgba(17,17,17,0.66);
}

body.cpa-page .cpa-xform__bridge-line{
  width:3px;
}

/* framework clarity â€” stronger labels */
body.cpa-page .cpa-diag__eyebrow,
body.cpa-page .cpa-xform__eyebrow,
body.cpa-page .cpa-dmat__phase,
body.cpa-page .cpa-xform__phase{
  color:rgba(17,17,17,0.72);
}

body.cpa-page .cpa-dmat__note,
body.cpa-page .cpa-xform__text,
body.cpa-page .cpa-module__body{
  color:var(--bh-ink-2);
}

/* =========================================================================
   CTA â€” integrate naturally Â· no floating buttons
   ========================================================================= */
body.cpa-page .cpa-anchor__actions{
  margin-top:clamp(var(--bh-space-4),3.4vw,var(--bh-space-5));
  align-items:center;
}

body.cpa-page .cpa-hero-actions{
  position:static;
}

body.cpa-page .cpa-hero-actions .cpa-btn,
body.cpa-page .cpa-anchor__actions .cpa-btn{
  position:static;
  box-shadow:none;
}
