/* ── For Whom ── */
.for-whom{
  max-width:1100px;
  margin:0 auto;
  padding:80px 24px 60px;
}
.for-whom-header{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  margin-bottom:2px;
}
.for-whom-header .section-label{
  margin-bottom:12px;
}
.for-whom-title{
  position:relative;
  text-align:center;
  align-self:center;
  margin:2px auto 40px;
}
.for-whom-title::before{
  content:'';
  position:absolute;
  left:50%;
  top:58%;
  transform:translate(-50%,-50%);
  width:520px;
  height:260px;
  border-radius:999px;
  background:
    radial-gradient(ellipse at 50% 32%, rgba(34,211,238,.95) 0%, rgba(125,211,252,.70) 18%, rgba(125,211,252,0) 42%),
    radial-gradient(ellipse at 50% 55%, rgba(34,211,238,.70) 0%, rgba(6,182,212,.50) 36%, rgba(8,145,178,0) 72%),
    radial-gradient(ellipse at 50% 78%, rgba(14,116,144,.55) 0%, rgba(30,64,175,.14) 52%, rgba(15,23,42,0) 88%);
  filter:blur(22px);
  opacity:.9;
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:0;
}
.for-whom-title > *{
  position:relative;
  z-index:1;
}
.for-whom-deco{
  width:160px;
  height:160px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.for-whom-deco img{
  position:relative;
  width:140px;
  height:140px;
  object-fit:contain;
  filter:drop-shadow(0 0 20px rgba(34,211,238,.35)) drop-shadow(0 0 44px rgba(34,211,238,.22));
}
.for-whom-title h2{
  font-size:clamp(26px,4.5vw,40px);
  font-weight:900;
  letter-spacing:-.5px;
  margin:0;
  color:var(--text);
}
.for-whom-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
}
.for-whom-card{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:22px 20px;
  border-radius:16px;
  background:var(--surface);
  border:1px solid var(--border);
  opacity:0;
  transform:translateY(24px);
  transition:opacity .5s ease,transform .5s ease,border-color .2s,box-shadow .2s;
}
.for-whom-card::after{
  content:'';
  position:absolute;
  inset:-10px;
  border-radius:20px;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(closest-side, rgba(34,211,238,.22), rgba(34,211,238,0) 70%);
  filter:blur(10px);
  mix-blend-mode:screen;
  transition:opacity .2s ease;
}
.for-whom-card.is-visible{
  opacity:1;
  transform:translateY(0);
}
.for-whom-card.is-visible:hover{
  transform:translateY(-3px);
  border-color:rgba(167,139,250,.35);
  box-shadow:0 4px 24px rgba(167,139,250,.08);
}
.for-whom-card.is-visible{
  animation:forWhomFlicker 20.8s ease-in-out infinite;
}
.for-whom-card.is-visible::after{
  animation:forWhomGlowFlicker 20.8s ease-in-out infinite;
}
.for-whom-card.is-visible:nth-child(1){animation-delay:.2s;animation-duration:21.6s}
.for-whom-card.is-visible:nth-child(1)::after{animation-delay:.2s;animation-duration:21.6s}
.for-whom-card.is-visible:nth-child(2){animation-delay:1.1s;animation-duration:24.0s}
.for-whom-card.is-visible:nth-child(2)::after{animation-delay:1.1s;animation-duration:24.0s}
.for-whom-card.is-visible:nth-child(3){animation-delay:.6s;animation-duration:19.6s}
.for-whom-card.is-visible:nth-child(3)::after{animation-delay:.6s;animation-duration:19.6s}
.for-whom-card.is-visible:nth-child(4){animation-delay:2.3s;animation-duration:25.8s}
.for-whom-card.is-visible:nth-child(4)::after{animation-delay:2.3s;animation-duration:25.8s}
.for-whom-card.is-visible:nth-child(5){animation-delay:1.7s;animation-duration:21.4s}
.for-whom-card.is-visible:nth-child(5)::after{animation-delay:1.7s;animation-duration:21.4s}
.for-whom-card.is-visible:nth-child(6){animation-delay:3.1s;animation-duration:22.6s}
.for-whom-card.is-visible:nth-child(6)::after{animation-delay:3.1s;animation-duration:22.6s}
.for-whom-card.is-visible:nth-child(7){animation-delay:.9s;animation-duration:25.0s}
.for-whom-card.is-visible:nth-child(7)::after{animation-delay:.9s;animation-duration:25.0s}
.for-whom-card.is-visible:nth-child(8){animation-delay:2.8s;animation-duration:20.0s}
.for-whom-card.is-visible:nth-child(8)::after{animation-delay:2.8s;animation-duration:20.0s}
.for-whom-card.is-visible:nth-child(9){animation-delay:3.7s;animation-duration:24.4s}
.for-whom-card.is-visible:nth-child(9)::after{animation-delay:3.7s;animation-duration:24.4s}

@keyframes forWhomFlicker{
  0%, 100% { border-color: var(--border); box-shadow: none; }
  12% { border-color: rgba(34,211,238,.30); box-shadow: 0 0 0 1px rgba(34,211,238,.12); }
  13% { border-color: rgba(34,211,238,.95); box-shadow: 0 0 0 2px rgba(34,211,238,.22), 0 0 34px rgba(34,211,238,.18), 0 0 70px rgba(34,211,238,.10); }
  15% { border-color: rgba(34,211,238,.22); box-shadow: 0 0 0 1px rgba(34,211,238,.06); }
  44% { border-color: rgba(34,211,238,.26); box-shadow: 0 0 0 1px rgba(34,211,238,.08); }
  45% { border-color: rgba(34,211,238,.92); box-shadow: 0 0 0 2px rgba(34,211,238,.24), 0 0 46px rgba(34,211,238,.20), 0 0 92px rgba(34,211,238,.12); }
  48% { border-color: rgba(34,211,238,.24); box-shadow: 0 0 0 1px rgba(34,211,238,.07); }
  73% { border-color: rgba(34,211,238,.20); box-shadow: 0 0 0 1px rgba(34,211,238,.05); }
  74% { border-color: rgba(34,211,238,.88); box-shadow: 0 0 0 2px rgba(34,211,238,.20), 0 0 38px rgba(34,211,238,.18), 0 0 78px rgba(34,211,238,.10); }
  76% { border-color: rgba(34,211,238,.20); box-shadow: 0 0 0 1px rgba(34,211,238,.05); }
}
@keyframes forWhomGlowFlicker{
  0%, 100% { opacity: 0; }
  12% { opacity: .10; }
  13% { opacity: .55; }
  15% { opacity: .06; }
  44% { opacity: .08; }
  45% { opacity: .62; }
  48% { opacity: .06; }
  73% { opacity: .05; }
  74% { opacity: .50; }
  76% { opacity: .05; }
}

@media (prefers-reduced-motion: reduce){
  .for-whom-card.is-visible,
  .for-whom-card.is-visible::after{
    animation-duration:28s !important;
    animation-timing-function:linear !important;
  }
}
.for-whom-emoji{
  flex-shrink:0;
  width:44px;
  height:44px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  background:rgba(167,139,250,.10);
}
.for-whom-text h3{
  font-size:15px;
  font-weight:800;
  margin-bottom:4px;
  color:var(--text);
}
.for-whom-text p{
  font-size:13px;
  color:var(--text-dim);
  line-height:1.5;
  margin:0;
}
@media (max-width:640px){
  .for-whom{padding:60px 16px 40px}
  .for-whom-title{margin:8px auto 32px}
  .for-whom-deco{width:140px;height:140px}
  .for-whom-deco img{width:120px;height:120px}
  .for-whom-grid{grid-template-columns:1fr}
  .for-whom-card{padding:18px 16px}
}
