.ppw-wrap{
  position:relative;
  padding:48px 24px 56px;
  overflow:visible;
}
.ppw-section-title{
  margin:0 0 28px;
  text-align:center;
  color:#102047;
  font-size:34px;
  line-height:1.2;
  font-weight:800;
}
.ppw-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  max-width:1180px;
  margin:0 auto;
}
.ppw-card{
  position:relative;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:2px solid #13295f;
  box-shadow:0 16px 38px rgba(31,54,90,.12);
  min-height:100%;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.ppw-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 48px rgba(31,54,90,.16);
}
.ppw-card--termly{
  background:#f7fdff;
  transform:translateY(-12px);
  box-shadow:0 24px 54px rgba(16,151,168,.18);
  z-index:2;
}
.ppw-card--termly:hover{transform:translateY(-17px)}
.ppw-card--annual{border-color:#ff8a00}
.ppw-card-title{
  margin:0;
  text-align:center;
  color:#102047;
  font-size:25px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.03em;
}
.ppw-title-rule{
  width:88px;
  height:2px;
  margin:14px auto 24px;
  background:#102047;
  opacity:.8;
}
.ppw-price-row{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  gap:4px;
  white-space:nowrap;
}
.ppw-price{
  color:#102047;
  font-size:38px;
  line-height:1;
  font-weight:800;
}
.ppw-suffix{
  color:#102047;
  font-size:18px;
  line-height:1.1;
  padding-bottom:3px;
}
.ppw-dots{
  width:86%;
  height:2px;
  margin:24px auto 18px;
  border-top:2px dotted rgba(16,32,71,.45);
}
.ppw-lessons{
  text-align:center;
  font-size:20px;
  line-height:1.3;
  font-weight:800;
  margin-bottom:18px;
}
.ppw-features{
  list-style:none;
  margin:0 0 28px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:13px;
  flex:1;
}
.ppw-features li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#35486f;
  font-size:15px;
  line-height:1.45;
}
.ppw-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
  border:1.5px solid #1197a8;
  border-radius:50%;
  font-size:12px;
  line-height:1;
  margin-top:1px;
}
.ppw-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:12px 18px;
  border-radius:10px;
  color:#102047;
  text-decoration:none;
  text-align:center;
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  box-shadow:0 8px 20px rgba(255,138,0,.25);
  transition:transform .2s ease,filter .2s ease;
}
.ppw-btn:hover{
  color:#102047;
  transform:translateY(-2px);
  filter:brightness(.97);
}
.ppw-badge{
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  padding:8px 18px;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 8px 20px rgba(17,151,168,.25);
  white-space:nowrap;
}
.ppw-ribbon{
  position:absolute;
  top:20px;
  right:-42px;
  width:150px;
  padding:7px 0;
  transform:rotate(45deg);
  color:#fff;
  text-align:center;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 6px 14px rgba(255,138,0,.25);
}
@media (max-width:1024px){
  .ppw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ppw-card--termly{transform:none}
  .ppw-card--termly:hover{transform:translateY(-5px)}
  .ppw-card--annual{grid-column:1/-1;max-width:560px;width:100%;justify-self:center}
}
@media (max-width:767px){
  .ppw-wrap{padding:36px 14px 42px}
  .ppw-section-title{font-size:28px}
  .ppw-grid{grid-template-columns:1fr}
  .ppw-card--annual{grid-column:auto;max-width:none}
  .ppw-price{font-size:34px}
  .ppw-card{overflow:hidden}
}
