/* ============================================================
   Achievements
   ============================================================ */

/* — hero stat plates (four distinct grounds, contrast-checked) — */
.ac-stats{list-style:none;margin:28px auto 0;padding:0;max-width:900px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ac-stats li{padding:20px 14px 17px;border-radius:18px;text-align:center;
  border:1px solid var(--hb-border);box-shadow:0 18px 36px -24px rgba(29,22,28,.32),inset 0 1px 0 #fff}
.ac-stats b{display:block;font:800 clamp(26px,3vw,34px)/1 var(--hb-display);margin-bottom:7px}
.ac-stats span{display:block;font:600 11.5px/1.4 var(--hb-text);letter-spacing:.06em}
/* 1 · parchment + burgundy figure */
.ac-stats li:nth-child(1){background:linear-gradient(180deg,#FFFDF6,#F6EEDB)}
.ac-stats li:nth-child(1) b{color:var(--hb-burg)}
.ac-stats li:nth-child(1) span{color:var(--hb-muted)}
/* 2 · deep burgundy + gold figure */
.ac-stats li:nth-child(2){background:linear-gradient(180deg,#8C3B32,#7B2D26 58%,#5A1F1A);
  border-color:rgba(226,177,93,.55)}
.ac-stats li:nth-child(2) b{color:#F3D58C}
.ac-stats li:nth-child(2) span{color:rgba(252,247,234,.84)}
/* 3 · gold tint + bronze figure */
.ac-stats li:nth-child(3){background:linear-gradient(180deg,#FBF2DA,#F1DFAF)}
.ac-stats li:nth-child(3) b{color:#6E5327}
.ac-stats li:nth-child(3) span{color:#6E5327}
/* 4 · green + cream figure */
.ac-stats li:nth-child(4){background:linear-gradient(180deg,#35815B,#2C6A47 58%,#224F38);
  border-color:rgba(226,177,93,.45)}
.ac-stats li:nth-child(4) b{color:#F3D58C}
.ac-stats li:nth-child(4) span{color:rgba(255,255,255,.86)}

.ac-purpose{max-width:760px;margin:26px auto 0;padding:16px 22px;border-radius:14px;text-align:center;
  border:1px solid var(--hb-border);background:#FBF3E0;
  font:600 13.5px/1.7 var(--hb-text);color:var(--hb-muted)}

/* — snapshot strip — */
.ac-snap{list-style:none;margin:0 auto 34px;padding:0;max-width:980px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ac-snap li{padding:22px 14px 18px;border-radius:18px;text-align:center;
  border:1px solid var(--hb-border);background:linear-gradient(180deg,#FFFDF6,#F7EFDC);
  box-shadow:0 18px 36px -24px rgba(29,22,28,.3),inset 0 1px 0 #fff}
.ac-snap b{display:block;font:800 clamp(24px,2.8vw,32px)/1 var(--hb-display);color:var(--hb-burg);margin-bottom:7px}
.ac-snap span{display:block;font:600 11.8px/1.45 var(--hb-text);color:var(--hb-muted)}

/* — expanded blocks — */
.ac-blocks{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1080px;margin:0 auto}
.ac-block{padding:26px 26px 22px;border-radius:20px;
  border:1px solid var(--hb-border);background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 22px 44px -28px rgba(29,22,28,.32),inset 0 1px 0 #fff}
.ac-block h3{display:flex;align-items:baseline;gap:12px;margin:0 0 12px;
  font:700 18px/1.3 var(--hb-display);color:var(--hb-ink)}
.ac-block h3 .n{font:800 24px/1 var(--hb-display);color:var(--hb-burg);flex:none}
.ac-block p{margin:0 0 11px;font:500 14.3px/1.72 var(--hb-text);color:var(--hb-body)}
.ac-block p:last-child{margin-bottom:0}

/* — milestone rail (newest first, per source) — */
.ac-rail{list-style:none;margin:0 auto;padding:0;max-width:900px;position:relative}
.ac-rail::before{content:"";position:absolute;left:38px;top:14px;bottom:14px;width:3px;border-radius:3px;
  background:linear-gradient(180deg,#2C6A47 0%,#7B2D26 26%,#6E5327 58%,#B08542 80%,#ECCE77 100%)}
.ac-rail>li{position:relative;display:grid;grid-template-columns:88px 1fr;gap:22px;
  align-items:start;padding:0 0 26px}
.ac-rail>li:last-child{padding-bottom:0}
.ac-rail .y{position:relative;z-index:1;width:88px;text-align:center;padding:10px 0;border-radius:999px;
  font:800 15px/1 var(--hb-display);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(0,0,0,.28),
    0 9px 16px -8px rgba(29,22,28,.5)}
.ac-rail>li:nth-child(odd) .y{color:#3F2F10;background:linear-gradient(180deg,#F0CE83,var(--hb-gold) 58%,#C89440)}
.ac-rail>li:nth-child(even) .y{color:#FCF7EA;background:linear-gradient(180deg,#8C3B32,var(--hb-burg) 58%,#5A1F1A)}
.ac-rail h3{margin:2px 0 8px;font:700 17px/1.32 var(--hb-display);color:var(--hb-ink)}
.ac-rail p{margin:0;font:500 14.2px/1.7 var(--hb-text);color:var(--hb-body);max-width:64ch}

/* — link chip — */
.ac-chip{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:10px 17px;
  border-radius:999px;text-decoration:none;font:700 12.5px/1 var(--hb-text);color:#3F2F10;
  background:linear-gradient(180deg,#F0CE83,var(--hb-gold) 58%,#C89440);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.22),
    0 8px 14px -8px rgba(143,106,46,.6);transition:transform .15s ease}
.ac-chip:hover{transform:translateY(-1px)}
.ac-chip::after{content:"";width:10px;height:10px;border-top:2.2px solid #3F2F10;
  border-right:2.2px solid #3F2F10;transform:rotate(45deg) scale(.75)}
.ac-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto}
.ac-chips .ac-chip{margin-top:0}

/* — recognition medallions — */
.ac-recog{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1120px;margin:0 auto}
.ac-recog div{padding:26px 20px 22px;border-radius:18px;text-align:center;
  border:1px solid var(--hb-border);background:linear-gradient(180deg,#FFFDF6,#F7EFDC);
  box-shadow:0 18px 36px -24px rgba(29,22,28,.3),inset 0 1px 0 #fff}
.ac-recog .ic{display:block;width:68px;margin:0 auto 12px;
  filter:drop-shadow(0 10px 16px rgba(74,55,20,.32))}
.ac-recog .ic img{width:100%}
.ac-recog h3{margin:0 0 10px;font:700 15.5px/1.32 var(--hb-display);color:var(--hb-ink)}
.ac-recog p{margin:0;font:500 13.5px/1.7 var(--hb-text);color:var(--hb-body)}

/* — duo cards — */
.ac-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1080px;margin:0 auto;align-items:stretch}
.ac-duo .ab-card{display:flex;flex-direction:column}
.ac-hi{width:24px;height:24px;flex:none}

/* — advisory plates — */
.ac-warn{list-style:none;margin:18px auto 0;padding:0;max-width:840px;
  display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ac-warn li{position:relative;padding:13px 16px 13px 44px;border-radius:14px;
  border:1px solid rgba(123,45,38,.28);background:#FBF1EC;
  font:600 13.5px/1.5 var(--hb-text);color:#5A2620}
.ac-warn li::before{content:"";position:absolute;left:16px;top:15px;width:13px;height:13px;
  background:linear-gradient(45deg,transparent 42%,var(--hb-burg) 42%,var(--hb-burg) 58%,transparent 58%),
    linear-gradient(-45deg,transparent 42%,var(--hb-burg) 42%,var(--hb-burg) 58%,transparent 58%)}
.ac-warn li:nth-child(7),.ac-warn li:nth-child(8){border-color:rgba(44,106,71,.32);background:#F1F6EE;color:#254D38}
.ac-warn li:nth-child(7)::before,.ac-warn li:nth-child(8)::before{width:13px;height:7px;top:17px;
  background:none;border-left:2.6px solid var(--hb-green);border-bottom:2.6px solid var(--hb-green);
  transform:rotate(-45deg)}

/* — impact table — */
.ac-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:1040px;margin:0 auto}
.ac-table{width:100%;min-width:600px;border-collapse:separate;border-spacing:0;
  border:1.5px solid #D9A64C;border-radius:20px;overflow:hidden;
  box-shadow:0 26px 52px -30px rgba(29,22,28,.36)}
.ac-table th[scope=col]{padding:15px 18px;text-align:left;font:700 14px/1.2 var(--hb-display);
  color:#FCF7EA;background:linear-gradient(180deg,#7E5F31,var(--hb-bronze) 58%,#57411E)}
.ac-table th[scope=col]+th{border-left:1px solid rgba(255,255,255,.14)}
.ac-table th[scope=row]{width:220px;padding:15px 18px;text-align:left;vertical-align:top;
  font:700 14px/1.4 var(--hb-display);color:var(--hb-ink);
  background:#FBF3E0;border-top:1px solid var(--hb-border);border-right:1px solid var(--hb-border)}
.ac-table td{padding:15px 18px;font:500 13.8px/1.65 var(--hb-text);color:var(--hb-body);
  background:#FFFDF6;border-top:1px solid var(--hb-border);vertical-align:top}
.ac-table tbody tr:nth-child(even) th[scope=row]{background:#F6EBD2}
.ac-table tbody tr:nth-child(even) td{background:#F8F1DE}

/* — mission lines — */
.ac-mission{list-style:none;margin:0 auto;padding:0;max-width:620px;display:grid;gap:9px}
.ac-mission li{position:relative;padding:13px 18px 13px 44px;border-radius:14px;
  border:1px solid rgba(226,177,93,.35);background:rgba(252,247,234,.06);
  font:600 14.5px/1.5 var(--hb-display);color:#FCF7EA}
.ac-mission li::before{content:"";position:absolute;left:17px;top:50%;transform:translateY(-50%);
  width:12px;height:12px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#F5DA96,var(--hb-gold) 60%,#B08542)}

.hb-btn.hbx-app{color:#FCF7EA;background:linear-gradient(180deg,#8A6A38,#6E5327 55%,#4A3714);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -2px 0 rgba(0,0,0,.3),
    0 10px 18px -9px rgba(74,55,20,.6)}
.hb-btn.hbx-app:hover{color:#FCF7EA;transform:translateY(-1px)}

@media (max-width:1020px){
  .ac-recog{grid-template-columns:repeat(2,1fr)}
  .ac-blocks{grid-template-columns:1fr}
  .ac-duo{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ac-stats{grid-template-columns:repeat(2,1fr)}
  .ac-snap{grid-template-columns:repeat(2,1fr)}
  .ac-warn{grid-template-columns:1fr}
  .ac-recog{grid-template-columns:1fr}
  .ac-rail::before{left:30px}
  .ac-rail>li{grid-template-columns:70px 1fr;gap:16px}
  .ac-rail .y{width:70px;font-size:13.5px}
  .ac-table th[scope=row]{width:auto}
}
