/* V5.5 — stronger visible frosted glass treatment; scoped exclusively to the challenge section. */
.pain-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(180deg,#e8ede5 0%,#e4eadf 100%);
}
.pain-section::before,
.pain-section::after{
  content:"";
  position:absolute;
  inset:auto;
  pointer-events:none;
  filter:blur(26px);
  opacity:.95;
  z-index:-1;
}
.pain-section::before{
  width:min(38vw,520px);
  height:min(38vw,520px);
  left:-5%;
  top:20%;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.96),rgba(255,255,255,.52) 34%,rgba(226,235,224,.15) 67%,transparent 78%);
}
.pain-section::after{
  width:min(42vw,560px);
  height:min(42vw,560px);
  right:-9%;
  top:18%;
  border-radius:50%;
  background:radial-gradient(circle at 42% 40%,rgba(243,230,201,.62),rgba(197,214,193,.45) 38%,rgba(225,234,223,.15) 66%,transparent 79%);
}
.pain-section > .container{position:relative}
.pain-section > .container::before,
.pain-section > .container::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
  filter:blur(36px);
  z-index:-1;
}
.pain-section > .container::before{
  width:280px;
  height:280px;
  left:30%;
  top:34%;
  background:radial-gradient(circle,rgba(255,255,255,.7),rgba(255,255,255,.08) 65%,transparent 74%);
}
.pain-section > .container::after{
  width:320px;
  height:320px;
  right:18%;
  bottom:9%;
  background:radial-gradient(circle,rgba(202,220,197,.45),rgba(202,220,197,.06) 64%,transparent 75%);
}
.pain-section .pain-heading{
  grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(38px,6vw,100px);
  align-items:end;
  margin-bottom:42px;
}
.pain-section .pain-heading > div{min-width:0}
.pain-section .section-label{
  display:inline-flex;
  gap:10px;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:11px 16px;
  border-radius:999px;
  border:1px solid rgba(194,161,108,.48);
  background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,249,238,.28));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(255,255,255,.18),
    0 8px 24px rgba(57,66,49,.06);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  font-size:11px;
  letter-spacing:.15em;
  color:#916a38;
}
.pain-section .section-label::before{
  width:8px;
  height:8px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#e9cc97,#ac8754 72%);
  box-shadow:0 0 0 4px rgba(207,170,106,.14);
}
.pain-section .section-title{
  max-width:710px;
  font-size:clamp(44px,4.45vw,66px);
  font-weight:860;
  letter-spacing:-.068em;
  line-height:1.01;
  margin-top:22px;
  color:#19271f;
  text-wrap:balance;
}
.pain-section .section-title .serif{
  display:inline;
  color:#31493a;
  font-weight:400;
  letter-spacing:-.073em;
  white-space:normal;
}
.pain-section .section-intro{
  font-size:clamp(15px,1.16vw,17px);
  line-height:1.8;
  color:#5b6b60;
  max-width:430px;
  margin:0 0 7px;
}
.pain-section .pain-cards{
  position:relative;
  gap:clamp(14px,1.45vw,20px);
  perspective:1500px;
  align-items:stretch;
}
.pain-section .pain-cards::before{
  content:"";
  position:absolute;
  left:11%;
  right:11%;
  top:11%;
  bottom:10%;
  border-radius:32px;
  background:linear-gradient(90deg,rgba(255,255,255,.09),rgba(255,255,255,.02),rgba(218,231,215,.08));
  filter:blur(30px);
  pointer-events:none;
  z-index:-1;
}
.pain-section .pain-card{
  --glass-tint: rgba(255,255,255,.28);
  min-width:0;
  min-height:332px;
  padding:clamp(24px,2.15vw,32px);
  overflow:hidden;
  isolation:isolate;
  border-radius:22px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.54),rgba(255,255,255,.22) 46%,rgba(250,246,237,.16) 100%),
    linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,.09));
  border:1px solid rgba(255,255,255,.62);
  box-shadow:
    0 22px 50px rgba(32,52,38,.10),
    0 10px 22px rgba(32,52,38,.06),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 1px 0 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  transition:
    box-shadow .4s ease,
    border-color .4s ease,
    background .4s ease,
    transform .5s cubic-bezier(.2,.7,.2,1);
  transform-style:preserve-3d;
  will-change:auto;
}
.pain-section .pain-card:nth-child(2){transform:translateY(2px)}
.pain-section .pain-card:nth-child(3){transform:translateY(1px)}
.pain-section .pain-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--glow-x,18%) var(--glow-y,0%),rgba(255,255,255,.92),rgba(255,255,255,.26) 28%,transparent 58%),
    linear-gradient(108deg,rgba(255,255,255,.34),transparent 32%,transparent 67%,rgba(255,255,255,.12));
  opacity:.95;
}
.pain-section .pain-card::after{
  content:"";
  position:absolute;
  pointer-events:none;
  inset:1px;
  border-radius:inherit;
  border-top:1px solid rgba(255,255,255,.82);
  border-left:1px solid rgba(255,255,255,.46);
  border-right:1px solid rgba(255,255,255,.18);
  mask:linear-gradient(135deg,rgba(0,0,0,.98),rgba(0,0,0,.6) 38%,transparent 87%);
}
.pain-section .pain-num{
  position:relative;
  z-index:1;
  color:#9a7443;
  font-size:12px;
  letter-spacing:.08em;
  font-weight:820;
}
.pain-section .pain-card blockquote{
  position:relative;
  z-index:1;
  max-width:13ch;
  font-size:clamp(21px,1.82vw,24px);
  font-weight:860;
  line-height:1.18;
  letter-spacing:-.055em;
  color:#1b2b22;
  margin:28px 0 18px;
  text-wrap:pretty;
}
.pain-section .pain-card p{
  position:relative;
  z-index:1;
  max-width:32ch;
  font-size:clamp(14px,1.05vw,15px);
  line-height:1.74;
  color:#5b6a60;
  margin:0 0 26px;
}
.pain-section .pain-answer{
  position:relative;
  z-index:1;
  font-size:clamp(12px,.92vw,13px);
  font-weight:760;
  line-height:1.7;
  color:#2f6548;
  border-top:1px solid rgba(86,111,88,.18);
  padding-top:18px;
  letter-spacing:-.01em;
}
.pain-section .pain-bridge{
  max-width:740px;
  margin:62px auto 0;
  font-size:clamp(25px,2.48vw,33px);
  line-height:1.38;
  color:#425c47;
  text-wrap:balance;
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .pain-section .pain-card:hover{
    border-color:rgba(244,231,204,.82);
    background:
      linear-gradient(145deg,rgba(255,255,255,.63),rgba(255,255,255,.28) 46%,rgba(250,246,237,.20) 100%),
      linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.10));
    box-shadow:
      0 34px 62px rgba(32,58,41,.16),
      0 14px 28px rgba(32,58,41,.08),
      inset 0 1px 0 rgba(255,255,255,.98),
      inset 1px 0 0 rgba(255,255,255,.5),
      inset 0 -1px 0 rgba(255,255,255,.15);
  }
  .js-ready .pain-section .pain-card.reveal.visible{
    transform:translate3d(0,var(--glass-lift,0px),0) rotateX(var(--glass-rx,0deg)) rotateY(var(--glass-ry,0deg));
    transition:
      opacity .7s ease,
      filter .7s ease,
      transform .38s cubic-bezier(.2,.7,.2,1),
      box-shadow .35s ease,
      border-color .35s ease;
  }
  .pain-section .pain-card:not(.reveal):hover{transform:translateY(-6px)}
}
@media(max-width:850px){
  .pain-section .pain-heading{grid-template-columns:1fr;gap:16px}
  .pain-section .section-title{max-width:720px;font-size:clamp(43px,6.6vw,61px)}
  .pain-section .section-intro{max-width:620px;margin-top:0}
  .pain-section .pain-card{min-height:316px}
  .pain-section .pain-cards{gap:16px}
}
@media(max-width:590px){
  .pain-section{padding-top:67px;padding-bottom:68px}
  .pain-section::before{width:280px;height:280px;left:-20%;top:14%}
  .pain-section::after{width:280px;height:280px;right:-24%;top:28%}
  .pain-section > .container::before{width:180px;height:180px;left:10%;top:38%}
  .pain-section > .container::after{width:200px;height:200px;right:-3%;bottom:16%}
  .pain-section .pain-heading{gap:17px;margin-bottom:27px}
  .pain-section .section-label{padding:9px 13px;font-size:10px;letter-spacing:.12em}
  .pain-section .section-title{font-size:clamp(35px,9.4vw,46px);line-height:1.055;letter-spacing:-.06em;margin-top:20px;max-width:100%}
  .pain-section .section-intro{font-size:15px;line-height:1.72;max-width:100%}
  .pain-section .pain-cards{grid-template-columns:1fr;gap:15px}
  .pain-section .pain-card{
    min-height:0;
    padding:25px 23px 24px;
    border-radius:19px;
    backdrop-filter:blur(20px) saturate(160%);
    -webkit-backdrop-filter:blur(20px) saturate(160%);
  }
  .pain-section .pain-card:nth-child(2),
  .pain-section .pain-card:nth-child(3){transform:none}
  .pain-section .pain-card blockquote{font-size:21px;line-height:1.24;letter-spacing:-.042em;margin:19px 0 13px;max-width:15ch}
  .pain-section .pain-card p{font-size:14px;line-height:1.68;margin-bottom:20px;max-width:100%}
  .pain-section .pain-answer{font-size:12px;line-height:1.62;padding-top:15px;margin-top:0}
  .pain-section .pain-bridge{margin:43px auto 0;font-size:clamp(23px,6vw,28px);line-height:1.4;max-width:35ch}
}
@media(max-width:360px){
  .pain-section .section-title{font-size:34px}
  .pain-section .pain-card{padding:22px 19px}
  .pain-section .pain-card blockquote{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  .pain-section .pain-card,
  .js-ready .pain-section .pain-card.reveal.visible{
    transform:none!important;
    transition:none!important;
    will-change:auto
  }
}
