/* ================================================================
   kopeshea.css  —  Kopeshea custom theme on top of Bootstrap 5.3
   Mobile-first. Yellow palette. Override BS variables first.
================================================================ */

/* ── 1. CSS custom properties & Bootstrap variable overrides ─── */
:root {
    --yellow:       #F5B800;
    --yellow-lt:    #FFF3C4;
    --yellow-dk:    #C99000;
    --dark:         #0F0D00;
    --dark-2:       #1C1800;
    --mid:          #4A3F00;
    --muted:        #7A6D2E;
    --off-white:    #FFFDF0;
    --border:       #F0E08A;

    /* Bootstrap variable overrides */
    --bs-primary:           #F5B800;
    --bs-primary-rgb:       245, 184, 0;
    --bs-body-bg:           #ffffff;
    --bs-body-color:        #0F0D00;
    --bs-body-font-family:  'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --bs-border-color:      #F0E08A;
    --bs-border-radius:     12px;
    --bs-border-radius-lg:  20px;
    --bs-link-color:        #C99000;
    --bs-link-hover-color:  #0F0D00;
}

/* ── 2. Base typography ─────────────────────────────────────── */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* ── 3. Bootstrap btn overrides ─────────────────────────────── */
.btn-primary {
    background-color: var(--yellow);
    border-color:     var(--yellow);
    color:            var(--dark);
    font-weight:      600;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--yellow-dk);
    border-color:     var(--yellow-dk);
    color:            #fff;
}
.btn-outline-primary {
    border-color: var(--yellow-dk);
    color:        var(--dark);
    font-weight:  600;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--yellow-lt);
    border-color:     var(--yellow-dk);
    color:            var(--dark);
}
.btn-dark {
    background-color: var(--dark);
    border-color:     var(--dark);
    color:            var(--yellow);
}
.btn-dark:hover { background-color: var(--dark-2); border-color: var(--dark-2); color: var(--yellow); }
.btn-lg { border-radius: var(--bs-border-radius-lg); padding: .75rem 2rem; }

/* ── 4. Navbar ──────────────────────────────────────────────── */
.kp-navbar {
    background-color: rgba(255, 253, 240, 0.97);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
}
.kp-navbar .navbar-brand img { height: 36px; width: auto; }
.kp-navbar .nav-link {
    color:       var(--mid);
    font-weight: 500;
    font-size:   .9rem;
    padding:     .4rem .8rem !important;
    transition:  color .2s;
}
.kp-navbar .nav-link:hover { color: var(--dark); }
.kp-navbar .navbar-toggler {
    border-color: var(--yellow-dk);
    color:        var(--dark);
}
.kp-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%234A3F00' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ── 5. Utility chip / badge ────────────────────────────────── */
.kp-chip {
    display:        inline-block;
    background:     var(--yellow-lt);
    color:          var(--yellow-dk);
    font-size:      .72rem;
    font-weight:    700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding:        .3rem .9rem;
    border-radius:  100px;
    margin-bottom:  .85rem;
}

/* ── 6. Hero ────────────────────────────────────────────────── */
.kp-hero {
    background: linear-gradient(160deg, #FFFBDC 0%, #FFF8C0 60%, #FFF3A0 100%);
    padding: 4rem 0 3.5rem;
    position: relative;
    overflow: hidden;
}
.kp-hero::before {
    content: '';
    position: absolute;
    top: -120px; right: -120px;
    width: 500px; height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245,184,0,.18) 0%, transparent 70%);
    pointer-events: none;
}
.kp-hero h1,
.kp-hero-h1 {
    font-size: clamp(2.2rem, 6vw, 3.8rem);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: var(--dark);
}
.kp-hero h1 span,
.kp-hero-h1 span { color: var(--yellow-dk); }
.kp-hero .lead { color: var(--mid); }

.kp-hero-badge {
    display:      inline-flex;
    align-items:  center;
    gap:          .4rem;
    background:   var(--yellow);
    color:        var(--dark);
    font-weight:  700;
    font-size:    .75rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding:      .35rem 1rem;
    border-radius: 100px;
    margin-bottom: 1.25rem;
}

.kp-trust {
    display:     flex;
    align-items: center;
    gap:         .5rem;
    font-size:   .82rem;
    color:       var(--muted);
    margin-top:  1.5rem;
    flex-wrap:   wrap;
}
.kp-avatars { display: flex; }
.kp-avatar {
    width:        28px;
    height:       28px;
    border-radius: 50%;
    background:   var(--yellow);
    border:       2px solid #fff;
    margin-right: -8px;
    display:      flex;
    align-items:  center;
    justify-content: center;
    font-size:    .62rem;
    font-weight:  700;
    color:        var(--dark);
}

/* ── 7. Loan card widget ────────────────────────────────────── */
.kp-loan-card {
    background:    var(--dark);
    border-radius: 20px;
    padding:       1.75rem;
    color:         #fff;
    position:      relative;
    margin-top:    2rem;
}
.kp-loan-card .lc-label  { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,253,240,.45); }
.kp-loan-card .lc-amount { font-size: 2.25rem; font-weight: 800; color: var(--yellow); line-height: 1.1; margin: .2rem 0 .15rem; }
.kp-loan-card .lc-sub    { font-size: .8rem; color: rgba(255,253,240,.55); margin-bottom: 1.25rem; }
.kp-loan-card .lc-val    { font-weight: 700; font-size: .95rem; color: #fff; }
.kp-loan-card .lc-bar-wrap { height: 6px; background: rgba(255,253,240,.1); border-radius: 3px; margin-top: 1.25rem; }
.kp-loan-card .lc-bar    { height: 6px; width: 60%; background: var(--yellow); border-radius: 3px; }
.kp-loan-card .lc-meta   { font-size: .7rem; color: rgba(255,253,240,.3); margin-top: .35rem; }

.kp-badge-float {
    position:     absolute;
    bottom:       -1rem; right: -1rem;
    background:   var(--yellow);
    color:        var(--dark);
    font-weight:  800;
    font-size:    .78rem;
    padding:      .45rem 1rem;
    border-radius: 100px;
    box-shadow:   0 4px 14px rgba(0,0,0,.15);
}
.kp-approved-pill {
    position:     absolute;
    top:          0; left: -1rem;
    background:   #fff;
    border:       1px solid var(--border);
    border-radius: 12px;
    padding:      .65rem 1rem;
    font-size:    .78rem;
    font-weight:  600;
    color:        var(--dark);
    display:      flex;
    align-items:  center;
    gap:          .4rem;
    box-shadow:   0 4px 14px rgba(0,0,0,.08);
    white-space:  nowrap;
}
.kp-approved-pill .dot-green { width: 8px; height: 8px; border-radius: 50%; background: #22C55E; flex-shrink: 0; }

/* ── 8. Marquee strip ───────────────────────────────────────── */
.kp-marquee-wrap {
    background:  var(--yellow);
    padding:     .7rem 0;
    overflow:    hidden;
    white-space: nowrap;
}
.kp-marquee-track {
    display:    inline-flex;
    animation:  kpMarquee 26s linear infinite;
}
.kp-marquee-item {
    display:     inline-flex;
    align-items: center;
    gap:         .5rem;
    font-weight: 700;
    font-size:   .82rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color:       var(--dark);
    padding:     0 1.75rem;
}
.kp-marquee-sep { color: var(--dark); opacity: .3; }
@keyframes kpMarquee { from { transform: translateX(0) } to { transform: translateX(-50%) } }

/* ── 9. How it works steps ──────────────────────────────────── */
.kp-step-num {
    width:        56px;
    height:       56px;
    border-radius: 50%;
    background:   var(--yellow);
    color:        var(--dark);
    font-weight:  800;
    font-size:    1.2rem;
    display:      flex;
    align-items:  center;
    justify-content: center;
    margin:       0 auto 1.1rem;
    box-shadow:   0 0 0 7px var(--yellow-lt);
}
.kp-steps-connector {
    position: relative;
}
@media (min-width: 768px) {
    .kp-steps-connector::before {
        content: '';
        position: absolute;
        top: 28px;
        left: calc(12.5% + 28px);
        right: calc(12.5% + 28px);
        height: 2px;
        background: repeating-linear-gradient(90deg,
            var(--yellow) 0px, var(--yellow) 12px,
            transparent 12px, transparent 24px);
        z-index: 0;
    }
}

/* ── 10. Section backgrounds ────────────────────────────────── */
.kp-bg-off  { background-color: var(--off-white); }
.kp-bg-dark { background-color: var(--dark); }
.kp-bg-yellow { background-color: var(--yellow); }
.kp-bg-grad { background: linear-gradient(160deg, #FFFBDC, #FFFFF0); }

/* ── 11. Cards ──────────────────────────────────────────────── */
.kp-card {
    background:    var(--off-white);
    border:        1px solid var(--border);
    border-radius: var(--bs-border-radius-lg);
    padding:       1.75rem;
    height:        100%;
    transition:    transform .2s, box-shadow .2s;
}
.kp-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.07); }
.kp-card-icon {
    width:         48px;
    height:        48px;
    border-radius: var(--bs-border-radius);
    background:    var(--yellow-lt);
    display:       flex;
    align-items:   center;
    justify-content: center;
    margin-bottom: 1rem;
    font-size:     1.35rem;
}
.kp-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: .35rem; }
.kp-card p  { font-size: .88rem; color: var(--muted); line-height: 1.65; margin: 0; }

/* ── 12. Feature highlight block ────────────────────────────── */
.kp-feature-highlight {
    background:    var(--dark);
    border-radius: var(--bs-border-radius-lg);
    padding:       2.5rem;
    color:         #fff;
    margin-bottom: 1.5rem;
}
.kp-feature-highlight h2 { font-size: 1.75rem; font-weight: 800; color: var(--yellow); margin-bottom: .65rem; }
.kp-feature-highlight p  { color: rgba(255,253,240,.65); line-height: 1.75; }
.kp-fh-icon {
    font-size:     4.5rem;
    display:       flex;
    align-items:   center;
    justify-content: center;
    background:    rgba(245,184,0,.1);
    border-radius: var(--bs-border-radius-lg);
    aspect-ratio:  1;
    min-width:     160px;
}

/* ── 13. Education cards ────────────────────────────────────── */
.kp-edu-card {
    background:    #fff;
    border-radius: var(--bs-border-radius-lg);
    padding:       1.75rem;
    border-left:   4px solid var(--yellow);
    box-shadow:    0 2px 12px rgba(0,0,0,.05);
    height:        100%;
}
.kp-edu-card .num { font-size: 2.25rem; font-weight: 900; color: var(--yellow-lt); line-height: 1; margin-bottom: .4rem; }
.kp-edu-card h3   { font-size: 1rem; font-weight: 700; margin-bottom: .35rem; }
.kp-edu-card p    { font-size: .875rem; color: var(--muted); line-height: 1.65; margin: 0; }

/* ── 14. Stats ──────────────────────────────────────────────── */
.kp-stat-val   { font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 900; color: var(--dark); }
.kp-stat-label { font-size: .82rem; font-weight: 600; color: var(--dark); opacity: .6; }

/* ── 15. Testimonials ───────────────────────────────────────── */
.kp-testimonial {
    background:    var(--off-white);
    border:        1px solid var(--border);
    border-radius: var(--bs-border-radius-lg);
    padding:       1.75rem;
    height:        100%;
}
.kp-testimonial .stars { color: var(--yellow); font-size: 1rem; margin-bottom: .65rem; }
.kp-testimonial blockquote { font-size: .9rem; line-height: 1.7; color: var(--mid); margin-bottom: 1rem; font-style: italic; }
.kp-testimonial .kp-avatar-lg {
    width:        38px; height: 38px;
    border-radius: 50%; background: var(--yellow);
    display:       flex; align-items: center; justify-content: center;
    font-weight:   800; font-size: .88rem; color: var(--dark);
}
.kp-testimonial .auth-name { font-weight: 700; font-size: .9rem; margin: 0; }
.kp-testimonial .auth-role { font-size: .78rem; color: var(--muted); margin: 0; }

/* ── 16. Bootstrap Accordion overrides ─────────────────────── */
.kp-accordion .accordion-item {
    background:    transparent;
    border:        none;
    border-bottom: 1px solid var(--border);
}
.kp-accordion .accordion-button {
    background:   transparent;
    color:        var(--dark);
    font-weight:  600;
    font-size:    1rem;
    box-shadow:   none;
    padding:      1.25rem 0;
}
.kp-accordion .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234A3F00'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.kp-accordion .accordion-button:not(.collapsed) {
    color:      var(--yellow-dk);
    background: transparent;
}
.kp-accordion .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23C99000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.kp-accordion .accordion-body {
    padding: 0 0 1.25rem;
    font-size: .9rem;
    color: var(--muted);
    line-height: 1.7;
}

/* ── 17. CTA band ───────────────────────────────────────────── */
.kp-cta-band {
    background:  var(--dark);
    padding:     5rem 0;
    position:    relative;
    overflow:    hidden;
}
.kp-cta-band::before {
    content: '';
    position: absolute; top: -80px; left: 50%;
    transform: translateX(-50%);
    width: 600px; height: 300px; border-radius: 50%;
    background: radial-gradient(ellipse, rgba(245,184,0,.12) 0%, transparent 70%);
    pointer-events: none;
}
.kp-cta-band h2 { font-size: clamp(1.75rem, 4vw, 2.75rem); font-weight: 900; color: var(--yellow); }
.kp-cta-band .lead { color: rgba(255,253,240,.6); }
.kp-btn-ghost-light {
    border:       1.5px solid rgba(255,253,240,.3);
    color:        rgba(255,253,240,.8);
    background:   transparent;
    font-weight:  600;
    border-radius: var(--bs-border-radius-lg);
    padding:      .75rem 2rem;
    transition:   border-color .2s, color .2s;
}
.kp-btn-ghost-light:hover { border-color: rgba(255,253,240,.6); color: #fff; }

/* ── 18. Section spacing helpers ────────────────────────────── */
.kp-section     { padding: 4rem 0; }
.kp-section-sm  { padding: 2.5rem 0; }
@media (min-width: 768px) {
    .kp-section    { padding: 5rem 0; }
    .kp-section-sm { padding: 3.5rem 0; }
    .kp-hero       { padding: 5.5rem 0 4.5rem; }
}

/* ── 19. Footer ─────────────────────────────────────────────── */
.kp-footer       { background-color: var(--dark); color: rgba(255,253,240,.65); }
.kp-footer-top   { padding: 3.5rem 0 2.5rem; border-bottom: 1px solid rgba(255,253,240,.08); }
.kp-footer-bot   { padding: 1.25rem 0; }
.kp-footer-logo  { height: 34px; width: auto; filter: brightness(0) invert(1); opacity: .85; margin-bottom: 1rem; }
.kp-footer-desc  { font-size: .875rem; color: rgba(255,253,240,.45); line-height: 1.7; }
.kp-footer h5    { color: var(--yellow); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .9rem; font-weight: 700; }
.kp-footer ul    { list-style: none; padding: 0; margin: 0; }
.kp-footer li    { margin-bottom: .45rem; }
.kp-footer a     { color: rgba(255,253,240,.5); text-decoration: none; font-size: .875rem; transition: color .2s; }
.kp-footer a:hover { color: var(--yellow); }
.kp-social-link {
    display:     inline-flex;
    align-items: center;
    justify-content: center;
    width:       36px; height: 36px;
    border-radius: 8px;
    background:  rgba(245,184,0,.12);
    color:       var(--yellow) !important;
    transition:  background .2s;
}
.kp-social-link:hover { background: var(--yellow) !important; color: var(--dark) !important; }
.kp-footer-copy     { font-size: .8rem; color: rgba(255,253,240,.3); }
.kp-footer-tagline  { font-size: .8rem; font-weight: 700; color: var(--yellow); opacity: .7; }

/* ── 20. Misc responsive tweaks ─────────────────────────────── */
@media (max-width: 575px) {
    .kp-feature-highlight { padding: 1.75rem; }
    .kp-fh-icon { min-width: 100%; aspect-ratio: 2/1; }
    .kp-loan-card .lc-amount { font-size: 1.75rem; }
}

/* ── 21. Pricing page ───────────────────────────────────────── */
.kp-pricing-hero {
    background: linear-gradient(160deg, #FFFBDC 0%, #FFF8C0 60%, #FFF3A0 100%);
    padding: 4.5rem 0 3.5rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.kp-pricing-hero::before {
    content: '';
    position: absolute;
    top: -80px; left: 50%;
    transform: translateX(-50%);
    width: 600px; height: 300px; border-radius: 50%;
    background: radial-gradient(ellipse, rgba(245,184,0,.22) 0%, transparent 70%);
    pointer-events: none;
}
.kp-pricing-hero h1 {
    font-size: clamp(2rem, 5.5vw, 3.5rem);
    font-weight: 900;
    letter-spacing: -.02em;
    color: var(--dark);
    line-height: 1.1;
}
.kp-pricing-hero h1 span { color: var(--yellow-dk); }
.kp-pricing-hero .lead { color: var(--mid); max-width: 540px; margin: 0 auto; }

/* Price cards */
.kp-price-card {
    background:    #fff;
    border:        1.5px solid var(--border);
    border-radius: 24px;
    padding:       2rem 1.75rem;
    height:        100%;
    display:       flex;
    flex-direction: column;
    transition:    transform .2s, box-shadow .2s;
    position:      relative;
}
.kp-price-card:hover {
    transform:  translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,.08);
}
.kp-price-card.kp-price-featured {
    background:    var(--dark);
    border-color:  var(--yellow);
    box-shadow:    0 8px 32px rgba(0,0,0,.18);
}
.kp-price-card.kp-price-featured:hover {
    transform:  translateY(-6px);
    box-shadow: 0 20px 48px rgba(0,0,0,.25);
}
.kp-price-badge {
    position:     absolute;
    top:          -14px; left: 50%;
    transform:    translateX(-50%);
    background:   var(--yellow);
    color:        var(--dark);
    font-size:    .68rem;
    font-weight:  800;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding:      .3rem 1rem;
    border-radius: 100px;
    white-space:  nowrap;
}
.kp-price-tier {
    font-size:    .72rem;
    font-weight:  700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color:        var(--yellow-dk);
    margin-bottom: .35rem;
}
.kp-price-featured .kp-price-tier { color: var(--yellow); }
.kp-price-amount {
    font-size:   clamp(2rem, 4vw, 2.75rem);
    font-weight: 900;
    color:       var(--dark);
    line-height: 1;
    margin-bottom: .15rem;
}
.kp-price-featured .kp-price-amount { color: var(--yellow); }
.kp-price-period {
    font-size:  .82rem;
    color:      var(--muted);
    margin-bottom: .75rem;
}
.kp-price-featured .kp-price-period { color: rgba(255,253,240,.4); }
.kp-price-desc {
    font-size:    .875rem;
    color:        var(--muted);
    line-height:  1.6;
    margin-bottom: 1.5rem;
    min-height:   2.8em;
}
.kp-price-featured .kp-price-desc { color: rgba(255,253,240,.55); }
.kp-price-divider {
    border: none;
    border-top: 1px solid var(--border);
    margin: 0 0 1.25rem;
}
.kp-price-featured .kp-price-divider { border-color: rgba(255,253,240,.12); }
.kp-price-features {
    list-style: none;
    padding:    0;
    margin:     0 0 2rem;
    flex:       1;
}
.kp-price-features li {
    display:      flex;
    align-items:  flex-start;
    gap:          .6rem;
    font-size:    .875rem;
    color:        var(--mid);
    padding:      .45rem 0;
    border-bottom: 1px solid var(--border);
    line-height:  1.4;
}
.kp-price-featured .kp-price-features li {
    color:        rgba(255,253,240,.75);
    border-color: rgba(255,253,240,.1);
}
.kp-price-features li:last-child { border-bottom: none; }
.kp-price-features .kp-check {
    flex-shrink: 0;
    width:       18px; height: 18px;
    border-radius: 50%;
    background:  var(--yellow-lt);
    color:       var(--yellow-dk);
    display:     flex; align-items: center; justify-content: center;
    font-size:   .65rem;
    font-weight: 800;
    margin-top:  .1rem;
}
.kp-price-featured .kp-price-features .kp-check {
    background: rgba(245,184,0,.18);
    color:      var(--yellow);
}

/* Comparison table */
.kp-compare-table {
    width:          100%;
    border-collapse: separate;
    border-spacing: 0;
}
.kp-compare-table thead th {
    padding:        1rem .75rem;
    text-align:     center;
    font-weight:    700;
    font-size:      .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color:          var(--muted);
    border-bottom:  2px solid var(--border);
}
.kp-compare-table thead th:first-child { text-align: left; }
.kp-compare-table thead .col-featured {
    background:    var(--dark);
    color:         var(--yellow);
    border-radius: 12px 12px 0 0;
}
.kp-compare-table tbody td {
    padding:       .85rem .75rem;
    font-size:     .875rem;
    color:         var(--mid);
    border-bottom: 1px solid var(--border);
    text-align:    center;
    vertical-align: middle;
}
.kp-compare-table tbody td:first-child {
    text-align: left;
    font-weight: 500;
    color:       var(--dark);
}
.kp-compare-table tbody .col-featured {
    background: rgba(15,13,0,.04);
}
.kp-compare-check { color: var(--yellow-dk); font-weight: 800; font-size: 1rem; }
.kp-compare-dash  { color: var(--border); font-weight: 700; font-size: 1.2rem; }
.kp-compare-table tfoot td {
    padding:       1.25rem .75rem;
    text-align:    center;
    border-top:    2px solid var(--border);
}
.kp-compare-table tfoot .col-featured {
    background:    var(--dark);
    border-radius: 0 0 12px 12px;
}

/* Enhanced compare table header cells */
.kp-compare-table thead th { padding: 1.5rem .75rem 1.25rem; }
.kp-compare-table thead th .ct-badge {
    display:      inline-block;
    background:   var(--yellow);
    color:        var(--dark);
    font-size:    .62rem;
    font-weight:  800;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding:      .18rem .75rem;
    border-radius: 100px;
    margin-bottom: .45rem;
}
.kp-compare-table thead th .ct-price {
    display:     block;
    font-size:   clamp(1.65rem, 3vw, 2.4rem);
    font-weight: 900;
    line-height: 1;
    color:       var(--dark);
    margin:      .4rem 0 .05rem;
    letter-spacing: -.02em;
}
.kp-compare-table thead th.col-featured .ct-price { color: var(--yellow); }
.kp-compare-table thead th .ct-period {
    display:     block;
    font-size:   .75rem;
    font-weight: 400;
    color:       var(--muted);
    margin-bottom: .75rem;
}
.kp-compare-table thead th.col-featured .ct-period { color: rgba(255,253,240,.4); }
.kp-compare-table thead th .ct-desc {
    display:     block;
    font-size:   .78rem;
    font-weight: 400;
    font-style:  italic;
    color:       var(--muted);
    line-height: 1.5;
    margin-bottom: 1rem;
    min-height:  3.2em;
}
.kp-compare-table thead th.col-featured .ct-desc { color: rgba(255,253,240,.5); }

/* Guarantee strip */
.kp-guarantee-strip {
    display:     flex;
    flex-wrap:   wrap;
    gap:         1.5rem;
    justify-content: center;
    align-items: center;
    padding:     1.75rem 2rem;
    background:  var(--yellow-lt);
    border:      1px solid var(--border);
    border-radius: 20px;
    margin-top:  3rem;
}
.kp-guarantee-item {
    display:     flex;
    align-items: center;
    gap:         .5rem;
    font-size:   .85rem;
    font-weight: 600;
    color:       var(--dark);
}
.kp-guarantee-item .gi-icon {
    font-size: 1.15rem;
    flex-shrink: 0;
}
