.ranking-tab-panel{display:flex;flex-direction:column;gap:1.5rem;width:100%}
.ranking-tab-panel[hidden]{display:none!important}
.ranking-panel-footer{display:flex;justify-content:flex-end;margin-top:.5rem;padding-top:.25rem}
.ranking-panel-more{display:inline-flex;align-items:center;gap:.35rem;color:#0066cc;font-weight:700;text-decoration:none;font-size:.95rem;line-height:1.4}
.ranking-panel-more::after{content:'→';transition:transform .2s ease}
.ranking-panel-more:hover::after{transform:translateX(2px)}
.ranking-page-nav__item{text-decoration:none}

.ranking-section--home{
  padding:0;
}

.ranking-section--home .ranking-section-header{
  display:none;
}

.ranking-section .ranking-section-header{
  margin-bottom:1rem;
}

.ranking-section .ranking-main{
  max-width:1200px;
  align-items:stretch;
}

.ranking-section .ranking-page-nav-section{
  padding-bottom:14px;
}

.ranking-section .comparison-section--home{
  margin-top:0;
  padding-top:0;
  margin-bottom:0;
}

.ranking-section .ranking-page-section--home{
  padding-top:clamp(24px,4vw,40px);
}

.ranking-section .ranking-page-section--home #ranking-list{
  min-height:600px;
}

/* Scoped company card overrides. Keeping these here avoids mixing them into the global base sheet. */
.card .card-ctas{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;align-items:stretch;width:100%}
.card .btn-expand{margin-top:.75rem;margin-left:auto;margin-right:auto}
.card .btn-cta-large.btn-expand{min-height:52px;font-size:1.05rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem}
.card .btn-expand .cta-service-name{display:inline}
.card .btn-expand .btn-icon{font-size:.9rem;transition:transform .3s ease;display:inline-block}
.card .btn-expand[aria-expanded="true"] .btn-icon{transform:rotate(180deg)}
.card .feature-details-section{margin-top:1rem}
.card .feature-details-heading{font-size:1.5rem;font-weight:700;margin-bottom:2rem;color:var(--brand);padding-bottom:.5rem;border-bottom:1px solid var(--brand)}
.card .recommendation-info{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;margin-bottom:2rem}
.card .company-info{margin-top:1.5rem;margin-bottom:1.5rem;padding:1.25rem;background:#f8f9fa;border-radius:8px;border:1px solid #e5e5e5;display:flex;flex-direction:column;gap:2rem}
.card .company-info-item{display:flex;align-items:flex-start;margin-bottom:.167rem;gap:.75rem}
.card .company-info-item:last-child{margin-bottom:0}
.card .company-info-label{font-size:.875rem;font-weight:600;color:#666;min-width:140px;flex-shrink:0;line-height:1.5}
.card .company-info-value{font-size:.875rem;color:#333;line-height:1.5;flex:1}
.card .card-details-cta{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border)}
.card .cta-promo-section{margin-bottom:1.5rem;width:100%;display:flex;flex-direction:column;align-items:center}
.card .cta-promo-text{text-align:center;color:var(--text);font-size:1rem;font-weight:500;line-height:1.6;margin-bottom:.75rem}
.card .btn-cta-large{display:block;width:100%;max-width:400px;margin-left:auto;margin-right:auto;padding:1.25rem 2rem;background:linear-gradient(135deg,var(--brand) 0,#0052a3 100%);border-radius:16px;text-decoration:none;color:#fff;text-align:center;box-shadow:0 4px 12px rgba(0,102,204,.3),0 2px 4px rgba(0,102,204,.2);transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden;border:none;cursor:pointer;box-sizing:border-box}
.card .btn-cta-large::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}
.card .btn-cta-large:hover::before{left:100%}
.card .btn-cta-large:hover{background:linear-gradient(135deg,#0052a3 0,var(--brand) 100%);box-shadow:0 6px 20px rgba(0,102,204,.4),0 4px 8px rgba(0,102,204,.3);transform:translateY(-2px)}
.card .btn-cta-large:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,102,204,.3)}
.card .cta-service-name{display:block;font-size:1.5rem;font-weight:700;margin-bottom:.25rem;line-height:1.2}
.card .cta-link-text{display:inline-block;font-size:1rem;font-weight:500;margin-right:.5rem}
.card .cta-external-icon{display:inline-block;vertical-align:middle;width:16px;height:16px}
.card .card-banner-container{width:300px;height:250px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);overflow:hidden;background:#fff}
.card .card-banner-container img{max-width:100%;height:auto;object-fit:contain;vertical-align:bottom}
@media (max-width:768px){
  .card .feature-details-heading{font-size:1.25rem;margin-bottom:1.5rem}
  .card .recommendation-info{grid-template-columns:1fr;gap:.75rem}
  .card .company-info{padding:1rem;margin-top:1.25rem;margin-bottom:1.25rem}
  .card .company-info-item{flex-direction:column;gap:.375rem;margin-bottom:.167rem}
  .card .company-info-label{font-size:.8125rem;min-width:auto}
  .card .company-info-value{font-size:.8125rem}
  .card .recommendation-header{font-size:.875rem;padding:.625rem .75rem}
  .card .recommendation-body{font-size:1rem;padding:.875rem}
  .card .btn-cta-large{max-width:100%;padding:1.15rem 1.5rem}
  .card .cta-service-name{font-size:1.35rem}
  .card .cta-link-text{font-size:.95rem}
  .card .cta-promo-text{font-size:.95rem}
  .card .card-banner-container{width:100%;max-width:100%;height:auto;aspect-ratio:300/250;min-height:auto}
}
