.benefit-section{ padding:22px 20px 10px; }
.benefit-header{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px; }
.benefit-header h3{ font-family:'Fraunces',serif; font-size:17px; font-weight:500; margin:0; }
.benefit-header span{ font-size:10px; color:var(--text-faint); }
.benefit-sub{ font-size:12.5px; color:var(--text-muted); line-height:1.5; margin:6px 0 18px; }

.cat-nav{
  position:relative;
  display:flex;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:18px;
  padding:5px;
  margin-bottom:18px;
}
.cat-pill{
  position:absolute;
  top:5px; left:5px;
  width:calc(25% - 4px);
  height:calc(100% - 10px);
  border-radius:13px;
  background:linear-gradient(160deg, rgba(201,165,116,0.28), rgba(201,165,116,0.08));
  border:1px solid var(--border-strong);
  transition:transform 420ms cubic-bezier(.65,0,.35,1);
  transform:translateX(calc(var(--idx, 0) * 100%));
}
.cat-btn{
  position:relative;
  z-index:1;
  flex:1;
  background:none;
  border:none;
  color:var(--text-muted);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:12px 2px 10px;
  cursor:pointer;
  font-family:'Inter',sans-serif;
  transition:color 300ms ease, transform 200ms ease;
}
.cat-btn:active{ transform:scale(0.94); }
.cat-btn svg{ width:20px; height:20px; transition:transform 350ms cubic-bezier(.34,1.56,.64,1), stroke 300ms ease; stroke:var(--text-muted); }
.cat-btn.active{ color:var(--gold-bright); }
.cat-btn.active svg{ stroke:var(--gold-bright); transform:scale(1.12) translateY(-1px); }
.cat-btn span{ font-size:9.5px; font-weight:600; letter-spacing:0.2px; }

.cat-panel{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:20px;
  min-height:170px;
}
.cat-panel-inner{ transition:opacity 220ms ease, transform 220ms ease; }
.cat-panel-inner.switching{ opacity:0; transform:translateY(6px); }
.cat-panel-inner h4{
  font-family:'Fraunces',serif;
  font-size:15px;
  font-weight:500;
  color:var(--gold-bright);
  margin:0 0 10px;
}
.cat-panel-inner p{ font-size:12.5px; line-height:1.7; color:var(--text-muted); margin:0 0 10px; }
.cat-panel-inner p b{ color:var(--text); }
.cat-panel-inner ul{
  font-size:12.5px;
  line-height:1.7;
  color:var(--text-muted);
  margin:0 0 10px;
  padding-left:18px;
  list-style:none;
  counter-reset:item;
}
.cat-panel-inner ul li{
  position:relative;
  margin-bottom:4px;
}
.cat-panel-inner ul li::before{
  content:counter(item) ".";
  counter-increment:item;
  color:var(--gold);
  font-weight:600;
  position:absolute;
  left:-16px;
}
.cat-panel-inner .fine{ font-size:10px; color:var(--text-faint); line-height:1.6; }
