/* AFA 2026 content-authority + layout-balance refinement
   Controlled extension of the existing AFA design system. */
:root{
  --refine-line:rgba(181,134,52,.34);
  --refine-green:#0e4a38;
  --refine-navy:#173348;
  --refine-gold:#b7832e;
  --refine-wash:rgba(255,255,255,.62);
}
.refinement-split{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);gap:clamp(1.5rem,3vw,3.4rem);align-items:center;margin-bottom:clamp(1.6rem,2.8vw,2.7rem)}
.refinement-split.reverse{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)}
.refinement-copy h2{font-size:clamp(2rem,3.15vw,3.8rem);line-height:1.02;max-width:18ch;margin:.35rem 0 .9rem;color:var(--heading,var(--refine-green));text-wrap:balance}
.refinement-copy p{max-width:62ch}
.refinement-copy .actions{margin-top:1.15rem}
.concept-visual{position:relative;min-height:390px;border:1px solid var(--refine-line);background:linear-gradient(145deg,rgba(249,244,234,.98),rgba(255,255,255,.78));box-shadow:0 18px 48px rgba(27,43,42,.07);overflow:hidden}
.concept-visual::before{content:"";position:absolute;inset:8%;border:1px solid rgba(181,134,52,.18);border-radius:50%}
.concept-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border:1px solid rgba(181,134,52,.7);background:#fffaf0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font:400 1.36rem/1.08 var(--serif);color:var(--refine-green);box-shadow:0 10px 30px rgba(30,55,49,.09)}
.concept-core span{display:block;margin-top:.32rem;font:800 .63rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--refine-gold)}
.concept-node{position:absolute;min-width:108px;padding:.65rem .72rem;border:1px solid var(--refine-line);background:rgba(255,255,255,.92);text-align:center;font-size:.76rem;font-weight:800;letter-spacing:.04em;color:var(--refine-navy);box-shadow:0 7px 18px rgba(25,42,42,.06)}
.concept-node::after{content:"";position:absolute;background:rgba(181,134,52,.35)}
.concept-node.people{left:7%;top:12%}.concept-node.knowledge{right:7%;top:12%}.concept-node.governance{left:5%;bottom:12%}.concept-node.applications{right:5%;bottom:12%}.concept-node.infrastructure{left:50%;bottom:5%;transform:translateX(-50%)}
.capability-cards{margin-top:.25rem}
.capability-cards .card{min-height:170px}
.role-visual{border:1px solid var(--refine-line);padding:clamp(1rem,2vw,1.45rem);background:linear-gradient(150deg,#f7f0e4,rgba(255,255,255,.82));box-shadow:0 18px 46px rgba(27,43,42,.07)}
.role-visual figcaption{font:400 1.55rem/1.08 var(--serif);color:var(--refine-green);margin-bottom:1rem;max-width:20ch}
.role-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.role-map span{display:flex;min-height:74px;align-items:center;padding:.7rem;border:1px solid rgba(181,134,52,.26);background:rgba(255,255,255,.72);font-size:.78rem;font-weight:750;color:#344b52}
.role-authority{grid-column:1/-1!important;justify-content:center!important;min-height:84px!important;background:var(--refine-green)!important;color:#fff!important;font-family:var(--serif);font-size:1.15rem!important;font-weight:400!important;text-align:center}
.workload-visual{margin:0;min-height:100%;border:1px solid var(--refine-line);background:#e9e1d4;box-shadow:0 18px 48px rgba(27,43,42,.08);overflow:hidden}
.workload-visual img{display:block;width:100%;height:100%;min-height:370px;object-fit:cover}
.framework-intro{max-width:780px;margin-bottom:1.45rem}
.framework-intro h2{font-size:clamp(2rem,3vw,3.55rem);line-height:1.03;max-width:22ch;margin:.35rem 0 .8rem;text-wrap:balance}
.framework-grid{counter-reset:stage;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--refine-line);border:1px solid var(--refine-line);margin-top:1.15rem}
.framework-stage{counter-increment:stage;position:relative;min-height:220px;padding:1.05rem 1rem 1.1rem;background:rgba(255,255,255,.82)}
.framework-stage::before{content:"0" counter(stage);display:block;font:800 .68rem/1 var(--sans);letter-spacing:.14em;color:var(--refine-gold);margin-bottom:.65rem}
.framework-stage h3{font:400 1.25rem/1.12 var(--serif);color:var(--refine-green);margin:0 0 .55rem}.framework-stage p{font-size:.82rem;line-height:1.48;color:var(--muted)}
.academy-bridge{margin-top:clamp(2rem,4vw,4rem)}
.academy-bridge .media-frame img{aspect-ratio:16/9;object-fit:cover}
.development-anchor-grid{margin-bottom:1.3rem}.development-anchor-grid .card{border-top:3px solid var(--refine-gold)}
.development-list{display:grid;border-top:1px solid var(--refine-line);margin-top:1.1rem}
.development-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(170px,.45fr) minmax(110px,.3fr);gap:1rem;align-items:start;padding:.9rem 0;border-bottom:1px solid var(--refine-line)}
.development-row h3{font:400 1.12rem/1.18 var(--serif);margin:0;color:var(--refine-green)}
.development-row p{font-size:.79rem;line-height:1.45;color:var(--muted);margin:0}.development-row .format{font-size:.73rem;font-weight:750;color:#46595f}.status-chip{justify-self:end;display:inline-flex;padding:.3rem .48rem;border:1px solid rgba(181,134,52,.42);font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em;color:var(--refine-gold);background:#fffaf0;white-space:nowrap}
.maturity-note{margin-top:1.2rem;padding:1rem 1.05rem;border-left:3px solid var(--refine-gold);background:rgba(255,255,255,.62);font-size:.82rem;color:#43555b}
.pathway-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--refine-line);border:1px solid var(--refine-line);margin-top:1.3rem}
.pathway-card{background:#fffdf7;padding:1.05rem;min-height:210px}.pathway-card .status-chip{justify-self:start;margin-bottom:.7rem}.pathway-card h3{font:400 1.3rem/1.1 var(--serif);color:var(--refine-green);margin:.15rem 0 .55rem}.pathway-card p{font-size:.8rem;line-height:1.5;color:var(--muted)}
.program-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.4rem}.program-group{border:1px solid var(--refine-line);background:rgba(255,255,255,.78);padding:1rem}.program-group h3{font:400 1.3rem/1.1 var(--serif);color:var(--refine-green);margin:0 0 .55rem}.program-group>p{font-size:.8rem;color:var(--muted);margin:0 0 .65rem}.program-group ul{list-style:none;margin:0;padding:0}.program-group li{padding:.45rem 0;border-top:1px solid rgba(181,134,52,.19);font-size:.78rem}.program-group a{text-decoration:none;color:var(--refine-green);font-weight:750}.program-group.full{grid-column:1/-1}
.hardware-principle{margin-bottom:clamp(2rem,4vw,3.8rem)}.hardware-principle .refinement-copy h2{max-width:19ch}.principle-steps{display:grid;gap:.55rem;margin-top:1rem}.principle-step{display:grid;grid-template-columns:36px 1fr;gap:.75rem;align-items:start;padding:.65rem 0;border-top:1px solid var(--refine-line)}.principle-step span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--refine-gold);font-size:.67rem;font-weight:850;color:var(--refine-gold)}.principle-step strong{display:block;font-family:var(--serif);font-weight:400;color:var(--refine-green);font-size:1.05rem}.principle-step small{display:block;margin-top:.2rem;color:var(--muted);font-size:.76rem;line-height:1.4}
@media(max-width:1040px){.framework-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pathway-cards{grid-template-columns:1fr}.concept-visual{min-height:350px}}
@media(max-width:860px){.refinement-split,.refinement-split.reverse{grid-template-columns:1fr}.refinement-copy h2{max-width:24ch}.workload-visual img{min-height:300px}.program-groups{grid-template-columns:1fr}.program-group.full{grid-column:auto}.framework-grid{grid-template-columns:1fr 1fr}.development-row{grid-template-columns:1fr}.status-chip{justify-self:start}.concept-visual{min-height:360px}}
@media(max-width:580px){.framework-grid{grid-template-columns:1fr}.concept-visual{min-height:410px}.concept-node{min-width:96px;font-size:.69rem}.concept-node.people{left:4%}.concept-node.knowledge{right:4%}.concept-node.governance{left:3%}.concept-node.applications{right:3%}.role-map{grid-template-columns:1fr}.role-authority{grid-column:auto!important}.refinement-copy h2{font-size:clamp(1.9rem,9vw,2.55rem)}}

/* Site-wide optical alignment corrections — 2026-09-04
   Normalize real button/link boxes so header and utility-strip labels sit on one visual axis. */
.site-nav{
  align-items:center;
}
.site-nav > a,
.site-nav > .explore-toggle{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  min-height:36px;
  margin:0;
  padding:0;
  line-height:1;
  vertical-align:middle;
  transform:none;
}
.site-nav > .explore-toggle{
  appearance:none;
  -webkit-appearance:none;
  font-family:inherit;
  font-size:.75rem;
  letter-spacing:.01em;
  text-transform:uppercase;
  border:0;
  background:transparent;
}
.site-nav > .explore-toggle::before{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:.34rem;
  line-height:1;
  transform:none;
}

/* Keep the commercial quick-start rail optically level regardless of font size. */
.commercial-strip .inner{
  align-items:center;
}
.commercial-strip .inner > strong,
.commercial-strip .inner > a,
.commercial-strip .inner > span{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  margin:0;
  line-height:1;
  vertical-align:middle;
}
.commercial-strip .inner > strong{
  transform:translateY(1px);
}

/* Apply the same line-box normalization to the secondary context/navigation rail. */
.context-strip-inner{
  align-items:center;
}
.context-strip-inner > strong,
.context-strip-inner > nav,
.context-strip-inner > nav > a{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  margin-block:0;
  line-height:1;
}
