/**
 * About page refinement — legibility, contrast, institutional rhythm
 * Scoped: body.about-page · load after about.css
 */

/* -------------------------------------------------------------------------
   Tokens — contrast lift + compressed rhythm (~18%)
   ------------------------------------------------------------------------- */
body.about-page{
  --ab-line:rgba(17,17,17,0.14);
  --ab-line-strong:rgba(17,17,17,0.26);
  --ab-headline-size:var(--bh-type-h2);
  --ab-body-size:var(--bh-type-prose);
  --ab-body-lede:clamp(1.3125rem,1.15vw,1.4375rem);
  --ab-text-kicker:rgba(17,17,17,0.68);
  --ab-text-body:var(--bh-ink-2);
  --ab-text-support:var(--bh-ink-3);
  --ab-y-tight:clamp(28px,4.2vw,40px);
  --ab-y-core:clamp(32px,4.9vw,50px);
  --ab-y-loose:clamp(38px,5.8vw,60px);
  --ab-env-bleed:clamp(28px,5vw,72px);
  --ab-env-photo-w:120%;
  --ab-env-photo-h:114%;
  --ab-env-bleed-r:calc(-1 * clamp(12px,2.4vw,36px));
  --ab-env-focal-r:70% 38%;
  --ab-hero-env-opacity:0.76;
  --ab-hero-env-filter:grayscale(14%) contrast(1.16) saturate(0.84);
}

/* -------------------------------------------------------------------------
   Global typography — ~35% contrast lift
   ------------------------------------------------------------------------- */
body.about-page .ab-section{
  padding:clamp(var(--bh-space-6),7vw,calc(var(--bh-unit)*24)) 0;
}

body.about-page .ab-section--origin,
body.about-page .ab-section--different{
  padding-top:var(--ab-y-core);
  padding-bottom:var(--ab-y-core);
}

body.about-page .ab-section--doctrine{
  padding:var(--ab-y-core) 0;
}

body.about-page .ab-section--build{
  padding-top:clamp(var(--bh-space-7),7.5vw,calc(var(--bh-unit)*26));
  padding-bottom:clamp(var(--bh-space-7),7.5vw,calc(var(--bh-unit)*26));
}

body.about-page .ab-kicker{
  color:var(--ab-text-kicker);
  margin-bottom:clamp(var(--bh-space-3),2.2vw,var(--bh-space-4));
}

body.about-page .ab-h2,
body.about-page .ab-statement{
  font-size:var(--ab-headline-size);
  letter-spacing:-0.034em;
  line-height:1.06;
  color:var(--bh-ink);
  font-weight:500;
}

body.about-page .ab-rule{
  margin:clamp(var(--bh-space-3),2.2vw,var(--bh-space-4)) 0 clamp(var(--bh-space-4),2.8vw,var(--bh-space-5));
  background:linear-gradient(90deg,var(--bh-accent) 0%,var(--bh-accent) 36%,var(--ab-line-strong) 36%,var(--ab-line-strong) 100%);
}

body.about-page .ab-prose{
  font-size:var(--ab-body-size);
  line-height:1.62;
  color:var(--ab-text-body);
}

body.about-page .ab-prose p{
  margin-top:clamp(var(--bh-space-3),2.2vw,var(--bh-space-4));
}

body.about-page .ab-pull{
  font-size:var(--ab-body-lede);
  font-weight:600;
  color:var(--bh-ink);
}

body.about-page .ab-emph{
  color:var(--bh-ink);
  font-weight:600;
}

body.about-page .ab-grid-overlay{
  opacity:0.28;
}

/* -------------------------------------------------------------------------
   Hero — structural plane · edge definition · compressed
   ------------------------------------------------------------------------- */
body.about-page .ab-hero__grid{
  gap:clamp(var(--bh-space-5),5vw,var(--bh-space-7));
  padding:var(--bh-hero-y-top) 0 var(--bh-hero-y-bottom);
}

body.about-page .ab-hero-title{
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-6));
}

body.about-page .ab-hero-title__line{
  font-size:var(--bh-type-hero-line);
  color:var(--bh-ink);
}

body.about-page .ab-hero-title__line--mass{
  font-size:var(--bh-type-hero-mass);
}

body.about-page .ab-hero-body{
  font-size:var(--ab-body-size);
  line-height:1.62;
  color:var(--ab-text-body);
}

body.about-page .ab-hero-body p{
  margin-top:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
}

body.about-page .ab-hero-body__stress{
  margin-top:clamp(var(--bh-space-4),3vw,var(--bh-space-5))!important;
  font-size:var(--ab-body-lede);
  font-weight:600;
  color:var(--bh-ink);
}

body.about-page .ab-hero__trace{
  padding-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-6));
}

body.about-page .ab-hero__trace-code,
body.about-page .ab-hero__trace-idx{
  color:rgba(17,17,17,0.62);
}

body.about-page .ab-hero__trace-rule{
  background:linear-gradient(90deg,rgba(34,162,159,0.62),var(--ab-line-strong));
}

body.about-page .ab-hero::before{
  opacity:0.28;
}

body.about-page .ab-hero-visual{
  position:relative;
  overflow:visible;
  align-self:stretch;
  width:min(48vw,520px);
  min-height:clamp(200px,28vw,340px);
  margin-right:calc(-1 * clamp(32px,6vw,96px));
  margin-left:auto;
}

body.about-page .ab-hero-visual .ab-arch__crop{
  border:var(--bh-hairline) solid rgba(17,17,17,0.16);
  clip-path:polygon(0 8%,100% 0,100% 92%,0 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.72),
    inset 0 -1px 0 rgba(17,17,17,0.06);
  position:absolute;
  top:0;
  right:calc(-1 * (var(--ab-env-bleed) + min(4vw,40px)));
  bottom:0;
  left:auto;
  width:calc(100% + var(--ab-env-bleed) + min(16vw,120px));
  min-height:clamp(200px,28vw,340px);
}

body.about-page .ab-hero-visual .ab-arch__crop::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:linear-gradient(
    90deg,
    var(--bh-bg) 0%,
    var(--bh-bg) 24%,
    rgba(255,255,255,0.68) 46%,
    rgba(255,255,255,0.14) 66%,
    transparent 90%
  );
}

/* -------------------------------------------------------------------------
   Problem · origin · build · different
   ------------------------------------------------------------------------- */
body.about-page .ab-section__index{
  color:rgba(17,17,17,0.12);
}

body.about-page .ab-section__body{
  padding-top:var(--bh-space-1);
  border-left-color:var(--ab-line-strong);
}

body.about-page .ab-origin{
  gap:clamp(var(--bh-space-5),5.5vw,var(--bh-space-7));
}

body.about-page .ab-build__label{
  color:var(--ab-text-kicker);
}

body.about-page .ab-build__deck{
  font-size:var(--ab-body-size);
  line-height:1.62;
  color:var(--ab-text-body);
}

body.about-page .ab-build__head{
  margin-bottom:clamp(var(--bh-space-6),6vw,var(--bh-space-7));
}

body.about-page .ab-different{
  gap:clamp(var(--bh-space-5),6vw,calc(var(--bh-unit)*18));
}

body.about-page .ab-different__lead{
  font-size:var(--ab-body-size);
  line-height:1.62;
  color:var(--ab-text-body);
}

body.about-page .ab-different__claim{
  margin-bottom:clamp(var(--bh-space-5),4vw,var(--bh-space-6));
  font-size:var(--ab-headline-size);
  letter-spacing:-0.034em;
  line-height:1.06;
  color:var(--bh-ink);
  font-weight:500;
}

body.about-page .ab-build-close{
  font-size:var(--ab-body-size);
  color:var(--ab-text-body);
}

body.about-page .ab-build__rail-tag{
  color:var(--ab-text-kicker);
}

body.about-page .ab-sysmap__caption{
  color:rgba(235,235,235,0.86);
}

body.about-page .ab-sysmap__caption strong{
  color:#fafafa;
}

/* -------------------------------------------------------------------------
   Doctrine wall — structured · readable
   ------------------------------------------------------------------------- */
body.about-page .ab-doctrine__veil{
  background:
    radial-gradient(ellipse 70% 55% at 88% 18%,rgba(34,162,159,0.06) 0%,transparent 52%),
    linear-gradient(180deg,#F0EEEB 0%,#E6E4E0 100%);
  border-top-color:var(--ab-line-strong);
  border-bottom-color:var(--ab-line-strong);
}

body.about-page .ab-doctrine__veil::after{
  opacity:0.16;
  filter:grayscale(18%) contrast(1.12);
}

body.about-page .ab-doctrine__head{
  margin-bottom:clamp(var(--bh-space-6),6vw,var(--bh-space-7));
}

body.about-page .ab-doctrine__eyebrow{
  color:var(--ab-text-kicker);
}

body.about-page .ab-doctrine__title{
  font-size:var(--ab-headline-size);
  letter-spacing:-0.034em;
  line-height:1.06;
  color:var(--bh-ink);
  font-weight:500;
}

body.about-page .ab-doctrine__rule{
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
  background:linear-gradient(90deg,var(--bh-accent) 0%,var(--bh-accent) 42%,var(--ab-line-strong) 42%,var(--ab-line-strong) 100%);
}

body.about-page .ab-doctrine__thesis{
  font-size:var(--ab-body-size);
  line-height:1.62;
  color:var(--ab-text-body);
}

body.about-page .ab-doctrine__wall{
  border:var(--bh-hairline) solid rgba(17,17,17,0.26);
  background:rgba(255,255,255,0.38);
}

body.about-page .ab-doctrine__cell{
  padding:clamp(var(--bh-space-5),4.8vw,var(--bh-space-7));
  border-right-color:rgba(17,17,17,0.2);
  border-bottom-color:rgba(17,17,17,0.2);
  background:rgba(255,255,255,0.55);
}

body.about-page .ab-doctrine__mark{
  margin-bottom:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
  color:var(--ab-teal);
  font-weight:600;
}

body.about-page .ab-doctrine__stmt{
  font-size:var(--ab-body-lede);
  line-height:1.5;
  color:var(--bh-ink);
  font-weight:500;
}

/* -------------------------------------------------------------------------
   This Is Not Accounting — strong anchor · tighter
   ------------------------------------------------------------------------- */
body.about-page .ab-notacc{
  min-height:clamp(280px,38vh,420px);
}

body.about-page .ab-notacc__void{
  border-right-color:var(--ab-line-strong);
}

body.about-page .ab-notacc__void::after{
  opacity:0.24;
}

body.about-page .ab-notacc__content{
  padding:clamp(var(--bh-space-6),7.5vw,calc(var(--bh-unit)*26));
  padding-left:clamp(var(--bh-space-6),7vw,calc(var(--bh-unit)*24));
}

body.about-page .ab-notacc__content .ab-kicker--invert{
  color:var(--ab-text-kicker);
}

body.about-page .ab-notacc__content .ab-head--invert{
  font-size:var(--ab-headline-size);
  font-weight:500;
  letter-spacing:-0.034em;
  line-height:1.02;
  color:var(--bh-ink);
  max-width:22ch;
  margin-bottom:0;
}

body.about-page .ab-notacc__prose{
  margin-top:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.about-page .ab-notacc__prose p{
  margin-bottom:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
  font-size:var(--ab-body-size);
  line-height:1.62;
  color:var(--ab-text-body);
  max-width:38ch;
}

body.about-page .ab-notacc__resolve{
  margin-top:clamp(var(--bh-space-4),3vw,var(--bh-space-5))!important;
  font-size:var(--ab-body-lede)!important;
  line-height:1.48!important;
  font-weight:600!important;
  color:var(--bh-ink)!important;
  max-width:34ch!important;
}

/* -------------------------------------------------------------------------
   Closing anchor — readable dark band
   ------------------------------------------------------------------------- */
body.about-page .ab-anchor-dark{
  padding:clamp(var(--bh-space-7),8vw,calc(var(--bh-unit)*26)) 0;
}

body.about-page .ab-anchor-dark__kicker{
  color:rgba(235,235,235,0.76);
}

body.about-page .ab-anchor-dark__headline{
  font-size:var(--ab-headline-size);
  font-weight:500;
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
  color:#fff;
}

body.about-page .ab-anchor-dark__rule{
  background:linear-gradient(90deg,var(--bh-accent) 0%,var(--bh-accent) 42%,rgba(255,255,255,0.28) 42%,rgba(255,255,255,0.28) 100%);
}

body.about-page .ab-anchor-dark__body p{
  font-size:var(--ab-body-size);
  line-height:1.62;
  color:rgba(235,235,235,0.9);
}

body.about-page .ab-anchor-dark__note{
  color:rgba(235,235,235,0.72);
}

body.about-page .ab-anchor-dark__continuity{
  margin-top:clamp(var(--bh-space-6),6vw,var(--bh-space-7));
  padding-top:clamp(var(--bh-space-5),4vw,var(--bh-space-6));
}

body.about-page .ab-anchor-dark__link{
  color:rgba(248,248,248,0.98);
}

/* -------------------------------------------------------------------------
   Footer — About-scoped contrast + column rhythm
   ------------------------------------------------------------------------- */
body.about-page .bh-footer--about{
  margin-top:0;
}

body.about-page .bh-footer--about .bh-footer__grid{
  gap:clamp(var(--bh-space-6),4.8vw,var(--bh-space-8));
  align-items:start;
}

body.about-page .bh-footer--about .bh-footer__tagline,
body.about-page .bh-footer--about .bh-footer__systems{
  color:rgba(255,255,255,0.88);
}

body.about-page .bh-footer--about .bh-footer__links a{
  color:rgba(255,255,255,0.94);
}

body.about-page .bh-footer--about .bh-footer__links a:hover,
body.about-page .bh-footer--about .bh-footer__links a:focus-visible{
  color:#fff;
}

body.about-page .bh-footer--about .bh-footer__nav{
  padding-left:clamp(var(--bh-space-5),3.8vw,var(--bh-space-7));
  padding-right:clamp(var(--bh-space-5),3.8vw,var(--bh-space-7));
  border-left-color:rgba(255,255,255,0.2);
  border-right-color:rgba(255,255,255,0.2);
}

body.about-page .bh-footer--about .bh-footer__intel{
  padding-left:clamp(var(--bh-space-5),3.8vw,var(--bh-space-7));
  border-left-color:rgba(34,162,159,0.62);
}

body.about-page .bh-footer--about .bh-footer__quote{
  color:rgba(255,255,255,0.94);
  line-height:1.58;
}

body.about-page .bh-footer--about .bh-footer__rule{
  margin-top:clamp(var(--bh-space-4),3vw,var(--bh-space-5));
}

body.about-page .bh-footer--about .bh-footer__rule::before{
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.18) 10%,
    rgba(255,255,255,0.32) 50%,
    rgba(255,255,255,0.18) 90%,
    transparent
  );
}

body.about-page .bh-footer--about .bh-footer__rule::after{
  background:linear-gradient(
    90deg,
    transparent,
    rgba(34,162,159,0.52) 42%,
    rgba(34,162,159,0.52) 58%,
    transparent
  );
}

body.about-page .bh-footer--about .bh-footer__base{
  border-top-color:rgba(255,255,255,0.16);
}

body.about-page .bh-footer--about .bh-footer__copy{
  color:rgba(255,255,255,0.62);
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@media (max-width:900px){
  body.about-page .ab-hero__grid{
    padding-top:var(--bh-hero-y-top);
    gap:var(--bh-space-5);
  }

  body.about-page .ab-hero-visual{
    width:100%;
    max-width:420px;
    margin-right:0;
    min-height:clamp(188px,44vw,280px);
  }

  body.about-page .ab-hero-visual .ab-arch__crop{
    position:relative;
    right:auto;
    width:100%;
    min-height:clamp(188px,44vw,280px);
  }
}

@media (max-width:1024px){
  body.about-page .ab-doctrine__cell{
    border-bottom-color:rgba(17,17,17,0.2);
  }
}
