/* =============================================================================
   VPNZM · about.css
   About page only: warm halo hero band, numbered principle rows, and the small
   list / table furniture used inside the panels. Every value comes from :root.
   ========================================================================== */

.about-hero{
  position:relative;
  max-width:100%;
  overflow-x:clip;
  padding-top:calc(var(--sec-y) + 6px);
  padding-bottom:calc(var(--sec-y) * .72);
}
.about-halo{
  position:absolute;
  top:-150px;
  left:-8%;
  right:-8%;
  height:460px;
  pointer-events:none;
  background:
    radial-gradient(46% 62% at 24% 22%,var(--halo-amber),transparent 70%),
    radial-gradient(44% 58% at 78% 8%,var(--halo-rose),transparent 72%);
}
.about-hero .wrap{position:relative;z-index:1}

.about-h1{
  margin-top:14px;
  max-width:20ch;
  font-size:clamp(30px,4.4vw,58px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.about-lede{
  margin-top:16px;
  max-width:66ch;
  font-size:16px;
  line-height:1.85;
  color:var(--text-muted);
}
.about-lede strong{color:var(--text);font-weight:700}

.about-hero .stat-band{
  margin-top:26px;
  justify-content:flex-start;
  border-radius:var(--r-lg);
}

.about-row{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:20px 26px;
  align-items:start;
}
.about-row + .about-row{margin-top:18px}

.about-index{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  padding-top:8px;
}
.about-num{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.16em;
  color:var(--accent);
}
.about-label{
  font-family:var(--font-display);
  font-size:15px;
  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.3;
  color:var(--text);
}

.about-panel{min-width:0}
.about-panel h2{
  margin-bottom:12px;
  font-size:clamp(22px,2.3vw,30px);
  letter-spacing:-.02em;
}
.about-p{
  font-size:14.5px;
  line-height:1.85;
  color:var(--text-muted);
}
.about-p + .about-p{margin-top:12px}
.about-p a{
  color:var(--accent);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.about-p a:hover{color:var(--accent-dark)}

.about-table{margin-top:16px}
.about-panel .callout{margin-top:16px}

.about-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.about-list li{
  position:relative;
  padding-left:20px;
  font-size:14px;
  line-height:1.8;
  color:var(--text-muted);
}
.about-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.74em;
  width:9px;
  height:2px;
  border-radius:2px;
  background:var(--accent);
  opacity:.6;
}

@media (max-width:860px){
  .about-row{grid-template-columns:104px minmax(0,1fr);gap:16px 20px}
}
@media (max-width:760px){
  .about-row{grid-template-columns:1fr;gap:10px}
  .about-index{flex-direction:row;align-items:baseline;gap:10px;padding-top:0}
  .about-lede{font-size:15px}
  .about-hero .stat-band{font-size:11.5px;gap:8px 16px}
}
@media (max-width:640px){
  .about-halo{top:-90px;height:320px}
  .about-hero{padding-top:calc(var(--sec-y) + 10px)}
  .about-table{margin-top:14px}
}