/* V5.6 — Optical Frosted Crystal. Scope: challenge section only. */
.pain-section{background:linear-gradient(160deg,#e8eee6 0%,#e3ebe2 48%,#e9eee6 100%)}
.pain-section .pain-cards{
  isolation:isolate;position:relative;display:grid;
  gap:clamp(14px,1.5vw,22px);align-items:stretch;
}
/* Clearly visible, softly colored shapes BEHIND the glass, not painted on its face. */
.pain-section .pain-cards::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:-38px -28px -40px -30px;border-radius:42px;
  background:
    radial-gradient(ellipse 24% 75% at 14% 65%,rgba(152,191,164,.64),transparent 94%),
    radial-gradient(ellipse 26% 74% at 49% 28%,rgba(240,205,151,.62),transparent 95%),
    radial-gradient(ellipse 29% 79% at 86% 68%,rgba(135,181,173,.56),transparent 94%),
    linear-gradient(105deg,rgba(255,255,255,.4) 16%,transparent 44%,rgba(255,255,255,.35) 74%);
  filter:blur(18px);
  opacity:.95;
}
.pain-section .pain-cards::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  left:7%;right:8%;top:14%;bottom:12%;border-radius:32px;
  background:
    linear-gradient(112deg,transparent 18%,rgba(255,255,255,.76) 22%,transparent 27%,transparent 61%,rgba(255,255,255,.62) 65%,transparent 71%),
    radial-gradient(ellipse 32% 55% at 38% 95%,rgba(160,194,170,.46),transparent 93%);
  filter:blur(25px);
}
.pain-section .pain-card{
  position:relative;z-index:1;display:flex;flex-direction:column;
  min-height:340px;overflow:hidden;isolation:isolate;
  border-radius:24px;
  background:linear-gradient(148deg,rgba(255,255,255,.41) 0%,rgba(255,255,255,.19) 44%,rgba(250,253,249,.23) 100%);
  border:1px solid rgba(255,255,255,.82);
  outline:1px solid rgba(85,112,94,.12);outline-offset:-2px;
  -webkit-backdrop-filter:blur(17px) saturate(145%);
  backdrop-filter:blur(17px) saturate(145%);
  box-shadow:
    0 26px 50px rgba(30,61,45,.115),
    0 7px 14px rgba(30,61,45,.055),
    inset 0 2px 0 rgba(255,255,255,.94),
    inset 2px 0 0 rgba(255,255,255,.58),
    inset -2px -3px 0 rgba(48,82,66,.065);
}
/* Optical rim, soft reflected sky-light: reflection must not obscure text. */
.pain-section .pain-card::before{
  z-index:0;opacity:1;
  background:
    radial-gradient(ellipse 46% 27% at var(--glow-x,16%) var(--glow-y,0%),rgba(255,255,255,.68),transparent 100%),
    linear-gradient(130deg,rgba(255,255,255,.43),transparent 24%,transparent 72%,rgba(255,255,255,.15)),
    linear-gradient(180deg,rgba(255,255,255,.09),transparent 40%);
}
.pain-section .pain-card::after{
  z-index:0;inset:2px;border:1px solid transparent;border-radius:21px;
  border-top-color:rgba(255,255,255,.76);border-left-color:rgba(255,255,255,.35);
  border-right-color:rgba(255,255,255,.15);border-bottom-color:rgba(62,92,75,.11);
  mask:none;
  box-shadow:inset 0 2px 8px rgba(255,255,255,.19);
}
.pain-section .pain-num,.pain-section .pain-card blockquote,.pain-section .pain-card p,.pain-section .pain-answer{position:relative;z-index:2}
.pain-section .pain-num{font-size:11px;letter-spacing:.1em;font-weight:800;color:#876740}
.pain-section .pain-card blockquote{
  max-width:24ch;font-size:clamp(20px,1.7vw,24px);
  font-weight:820;line-height:1.23;letter-spacing:-.046em;
  margin:28px 0 16px;color:#192a20;text-wrap:pretty;
}
.pain-section .pain-card p{
  max-width:34ch;font-size:clamp(14px,1.05vw,15px);
  line-height:1.7;font-weight:440;color:#4e6155;margin:0 0 26px;
}
.pain-section .pain-answer{
  margin-top:auto;border-top:1px solid rgba(65,103,80,.23);
  padding-top:17px;font-size:13px;line-height:1.55;color:#285a40;
}
.pain-section .pain-answer .pain-answer-label{
  display:block;color:#356b4e;letter-spacing:.065em;font-size:10px;font-weight:850;
  text-transform:uppercase;margin:0 0 6px;
}
.pain-section .pain-answer .pain-answer-copy{
  display:block;font-size:clamp(12px,.97vw,14px);font-weight:650;
  letter-spacing:-.014em;line-height:1.55;
}
.pain-section .section-label{background:rgba(255,255,255,.35);border-color:rgba(177,139,78,.46)}
.pain-section .pain-bridge{font-weight:400}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .pain-section .pain-card:hover{
    border-color:rgba(255,255,255,.98);
    background:linear-gradient(148deg,rgba(255,255,255,.49),rgba(255,255,255,.25) 48%,rgba(250,253,249,.27));
    box-shadow:0 35px 65px rgba(29,60,44,.17),0 10px 25px rgba(29,60,44,.08),inset 0 2px 0 rgba(255,255,255,1),inset 2px 0 0 rgba(255,255,255,.7),inset -2px -3px 0 rgba(48,82,66,.06);
  }
}
@media(min-width:591px) and (max-width:850px){
  .pain-section .pain-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pain-section .pain-card:last-child{grid-column:1/-1;min-height:250px}
  .pain-section .pain-card:last-child blockquote,.pain-section .pain-card:last-child p{max-width:50ch}
}
@media(max-width:590px){
  .pain-section .pain-cards{grid-template-columns:minmax(0,1fr);gap:17px}
  .pain-section .pain-cards::before{inset:-20px -12px;background:radial-gradient(ellipse 80% 29% at 20% 15%,rgba(151,192,168,.65),transparent 95%),radial-gradient(ellipse 82% 27% at 83% 51%,rgba(241,204,147,.57),transparent 94%),radial-gradient(ellipse 75% 29% at 18% 85%,rgba(140,180,172,.58),transparent 95%);filter:blur(15px)}
  .pain-section .pain-cards::after{inset:5% 5%;filter:blur(22px)}
  .pain-section .pain-card{min-height:0;padding:25px 23px 24px;border-radius:21px;-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%)}
  .pain-section .pain-card::after{border-radius:18px}
  .pain-section .pain-card blockquote{max-width:24ch;font-size:clamp(20px,5.4vw,22px);line-height:1.26;margin:22px 0 14px}
  .pain-section .pain-card p{max-width:100%;font-size:14px;line-height:1.72;margin-bottom:26px}
  .pain-section .pain-answer{padding-top:16px}
  .pain-section .pain-answer .pain-answer-copy{font-size:13px}
}
@media(max-width:360px){.pain-section .pain-card{padding:23px 19px}.pain-section .pain-card blockquote{font-size:20px}}
@media(prefers-reduced-motion:reduce){.pain-section .pain-card{transition:none!important}}
