/* ============================================================
   S.T Contracts Ltd - Testimonials Page
   Consistent with site tokens. JS hooks preserved:
   .st-testimonials-grid + .st-testimonial-card / -header /
   -google-icon / -stars / -content / -author
   ============================================================ */

:root {
    --st-orange:#F28823; --st-orange-hover:#d8731a; --st-orange-deep:#c4640f;
    --st-charcoal:#23282d; --st-ink:#23282d; --st-body:#4a5159; --st-muted:#828a93; --st-line:#e7e9ec;
    --st-surface:#ffffff; --st-surface-alt:#f5f6f8;
    --st-container:1200px; --st-pad:clamp(1.1rem,4vw,2.5rem); --st-section-y:clamp(3.25rem,5vw,5rem);
    --st-radius:14px; --st-radius-lg:20px; --st-pill:999px;
    --st-shadow-sm:0 2px 12px rgba(20,26,32,.06); --st-shadow:0 14px 40px rgba(20,26,32,.10);
    --st-fast:.2s ease; --st-ease:.35s cubic-bezier(.2,.7,.3,1);
    --st-fs-h1:clamp(1.7rem,1.2rem + 1.9vw,2.4rem); --st-fs-h2:clamp(1.8rem,1.3rem + 2vw,2.6rem); --st-fs-lead:clamp(1.02rem,.96rem + .35vw,1.18rem);
}
* { box-sizing: border-box; }

/* HERO - thin charcoal strip */
.st-testimonials-hero {
    position:relative; background: var(--st-charcoal); border-top:3px solid var(--st-orange);
    padding: clamp(2.25rem,4vw,3rem) var(--st-pad); font-family:'Mulish',sans-serif; overflow:hidden;
}
.st-testimonials-hero::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 100% 0%, rgba(242,136,35,.16) 0%, transparent 55%);
}
.st-testimonials-hero-inner { max-width: var(--st-container); margin:0 auto; position:relative; z-index:1; text-align:left; }
.st-testimonials-hero-badge {
    display:inline-flex; align-items:center; gap:.6rem;
    font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
    color:#fcc78a; background:none; padding:0; margin:0 0 .6rem;
}
.st-testimonials-hero-badge i { color: var(--st-orange); }
.st-testimonials-hero h1 { font-size: var(--st-fs-h1); font-weight:800; color:#fff; margin:0; letter-spacing:-.02em; line-height:1.1; }
.st-testimonials-hero p { font-size: var(--st-fs-lead); line-height:1.6; color: rgba(255,255,255,.74); margin:.65rem 0 0; max-width:60ch; }

/* STATS */
.st-testimonials-stats { background: var(--st-surface); padding: clamp(2.5rem,4vw,3.5rem) var(--st-pad); font-family:'Mulish',sans-serif; border-bottom:1px solid var(--st-line); }
.st-testimonials-stats-inner { max-width:800px; margin:0 auto; display:flex; justify-content:center; gap: clamp(2rem,5vw,3.75rem); }
.st-testimonials-stat { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.5rem; }
.st-testimonials-stat i {
    width:56px; height:56px; background: linear-gradient(135deg, var(--st-orange), var(--st-orange-deep));
    border-radius:14px; display:grid; place-items:center; color:#fff; font-size:1.35rem; margin-bottom:.25rem;
}
.st-testimonials-stat strong { font-size:2rem; font-weight:800; color: var(--st-ink); line-height:1; }
.st-testimonials-stat span { font-size:.85rem; font-weight:700; color: var(--st-muted); text-transform:uppercase; letter-spacing:.05em; }

/* SECTION + GRID */
.st-testimonials-section { background: var(--st-surface-alt); padding: var(--st-section-y) var(--st-pad); font-family:'Mulish',sans-serif; }
.st-testimonials-section-inner { max-width: var(--st-container); margin:0 auto; }
.st-testimonials-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }

/* CARD (markup from static-reviews.js) */
.st-testimonial-card {
    background:#fff; border-radius: var(--st-radius); padding:2rem;
    box-shadow: var(--st-shadow-sm); border:1px solid var(--st-line);
    transition: transform var(--st-ease), box-shadow var(--st-ease), border-color var(--st-ease);
    display:flex; flex-direction:column;
}
.st-testimonial-card:hover { transform: translateY(-4px); box-shadow: var(--st-shadow); border-color: var(--st-orange); }
.st-testimonial-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.25rem; }
.st-testimonial-google-icon { width:28px; height:28px; object-fit:contain; }
.st-testimonial-stars { display:flex; gap:3px; }
.st-testimonial-stars i { color: var(--st-orange); font-size:1rem; }
.st-testimonial-content { flex:1; margin-bottom:1.25rem; }
.st-testimonial-content p { font-size:.95rem; line-height:1.7; color: var(--st-body); margin:0; font-family:'Mulish',sans-serif; }
.st-testimonial-author { border-top:1px solid var(--st-line); padding-top:1rem; display:flex; align-items:center; justify-content:flex-end; gap:.6rem; }
.st-testimonial-author p { font-size:.95rem; font-weight:800; color: var(--st-ink); margin:0; font-family:'Mulish',sans-serif; }

/* CTA - dark band */
.st-testimonials-cta { background: var(--st-charcoal); padding: clamp(3.5rem,5vw,5rem) var(--st-pad); font-family:'Mulish',sans-serif; position:relative; overflow:hidden; }
.st-testimonials-cta::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 20% 80%, rgba(242,136,35,.16) 0%, transparent 52%), radial-gradient(ellipse at 80% 20%, rgba(242,136,35,.12) 0%, transparent 52%);
}
.st-testimonials-cta-inner { max-width:640px; margin:0 auto; text-align:center; position:relative; z-index:1; }
.st-testimonials-cta h2 { font-size: var(--st-fs-h2); font-weight:800; color:#fff; margin:0 0 1rem; letter-spacing:-.02em; }
.st-testimonials-cta p { font-size: var(--st-fs-lead); line-height:1.6; color: rgba(255,255,255,.78); margin:0 0 2rem; }
.st-testimonials-cta-buttons { display:flex; justify-content:center; align-items:center; gap:.9rem; flex-wrap:wrap; }
.st-testimonials-cta-btn {
    display:inline-flex; align-items:center; justify-content:center;
    background: var(--st-orange); color:#fff; text-decoration:none;
    padding:15px 34px; border-radius: var(--st-pill); font-weight:800; font-size:1rem;
    border:2px solid var(--st-orange); box-shadow:0 8px 22px rgba(242,136,35,.32);
    transition: background var(--st-fast), border-color var(--st-fast), transform var(--st-fast), box-shadow var(--st-fast);
}
.st-testimonials-cta-btn:hover { background: var(--st-orange-hover); border-color: var(--st-orange-hover); transform: translateY(-2px); box-shadow:0 12px 28px rgba(242,136,35,.42); }
.st-testimonials-cta-phone {
    display:inline-flex; align-items:center; gap:.6rem; color:#fff; text-decoration:none;
    padding:15px 30px; border-radius: var(--st-pill); font-weight:700; font-size:1rem;
    background: rgba(255,255,255,.1); border:2px solid rgba(255,255,255,.25);
    transition: background var(--st-fast), border-color var(--st-fast), transform var(--st-fast);
}
.st-testimonials-cta-phone:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.4); transform: translateY(-2px); }
.st-testimonials-cta-phone i { color: var(--st-orange); }

/* RESPONSIVE */
@media (max-width:1024px){ .st-testimonials-grid{ gap:1.25rem; } }
@media (max-width:767px){
    .st-testimonials-stats-inner{ gap:1.5rem; }
    .st-testimonials-stat i{ width:44px; height:44px; font-size:1.1rem; border-radius:12px; }
    .st-testimonials-stat strong{ font-size:1.5rem; }
    .st-testimonials-stat span{ font-size:.7rem; }
    .st-testimonials-grid{ grid-template-columns:1fr; gap:1rem; }
    .st-testimonial-card{ padding:1.5rem; }
    .st-testimonials-cta-buttons{ flex-direction:column; width:100%; }
    .st-testimonials-cta-btn, .st-testimonials-cta-phone{ width:100%; justify-content:center; }
}
@media (max-width:480px){
    .st-testimonials-stats-inner{ gap:1rem; }
    .st-testimonial-card{ padding:1.25rem; }
}
