/* One shared pricing rhythm. Content, prices and feature lists stay unchanged. */
.pricing-section .pricing-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:28px;
  row-gap:0;
  align-items:stretch;
}
.pricing-section .pricing-grid>.price-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:36px 38px;
}
.pricing-section .price-card>:is(.price-category,h3,.price,.price-unit,p,.check-list,.button,.small-note){
  min-width:0;
  max-width:none;
  margin:0;
}
.pricing-section .price-card>.price-category{
  padding-bottom:18px;
  line-height:1.55;
}
.pricing-section .price-card>h3{
  padding-bottom:20px;
  line-height:1.2;
}
.pricing-section .price-card>.price{
  padding-bottom:10px;
  font-size:clamp(88px,8.5vw,106px);
  line-height:1.04;
  white-space:nowrap;
}
.pricing-section .price-card>.price-unit{
  padding-bottom:24px;
  font-size:14px;
  line-height:1.6;
}
.pricing-section .price-card>p:not(.price-unit){
  min-height:0;
  padding-bottom:21px;
  font-size:16px;
  line-height:1.8;
}
.pricing-section .price-card>.check-list{
  flex:1;
  padding:0 0 27px;
  font-size:15px;
  line-height:1.65;
}
.pricing-section .price-card>.check-list li{
  padding:6px 0 6px 25px;
  overflow-wrap:break-word;
}
.pricing-section .price-card>.button{
  width:100%;
  min-width:0;
  min-height:54px;
  align-self:stretch;
  justify-content:space-between;
  gap:18px;
  padding:14px 20px;
  font-size:14px;
  line-height:1.45;
  text-align:left;
  white-space:normal;
}
.pricing-section .price-card>.button>[aria-hidden=true]{flex:0 0 auto}
.pricing-section .price-card>.small-note{
  min-height:0;
  padding-top:14px;
  align-self:start;
  font-size:13px;
  line-height:1.7;
  text-align:left;
}

/* Eight direct children share eight tracks, including the description and
   feature-list tracks. A longer translated row expands both cards equally. */
@supports(grid-template-rows:subgrid){
  @media(min-width:701px){
    .pricing-section .pricing-grid{grid-template-rows:repeat(8,auto)}
    .pricing-section .pricing-grid>.price-card{
      display:grid;
      grid-row:span 8;
      grid-template-rows:subgrid;
      row-gap:0;
    }
    .pricing-section .price-card>.check-list{align-self:stretch}
  }
}
@media(min-width:701px) and (max-width:1050px){
  .pricing-section .pricing-grid{column-gap:22px}
  .pricing-section .pricing-grid>.price-card{padding:30px 26px}
  .pricing-section .price-card>h3{font-size:29px}
  .pricing-section .price-card>.button{padding-inline:16px}
}
/* Stacked cards use their natural content height; no empty comparison tracks. */
@media(max-width:700px){
  .pricing-section .pricing-grid{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:none;
    gap:24px;
  }
  .pricing-section .pricing-grid>.price-card{
    display:flex;
    grid-row:auto;
    padding:30px 26px;
  }
  .pricing-section .price-card>.price-category{padding-bottom:16px}
  .pricing-section .price-card>h3{padding-bottom:18px;font-size:30px}
  .pricing-section .price-card>.price{font-size:clamp(82px,23vw,104px);padding-bottom:9px}
  .pricing-section .price-card>.price-unit{padding-bottom:22px}
  .pricing-section .price-card>p:not(.price-unit){padding-bottom:18px}
  .pricing-section .price-card>.check-list{flex:none;padding-bottom:25px}
}
@media(max-width:380px){
  .pricing-section .pricing-grid>.price-card{padding:27px 21px}
  .pricing-section .price-card>h3{font-size:28px}
  .pricing-section .price-card>p:not(.price-unit){font-size:15px}
  .pricing-section .price-card>.button{padding-inline:16px;gap:14px}
}
