/* =============================================================================
 * Testimonials / Reviews page — M. Goys Taxis of Louth
 * -----------------------------------------------------------------------------
 * Built to the premium "Reviews Page" design spec (editorial hero, glass stat
 * cards, animated rating breakdown, featured stories, CSS-columns masonry, trust
 * + why grids, dark CTA) but in the GOYS brand palette — gold / ink / white only,
 * no off-brand hues. Everything is scoped under `.gx-testimonials` so it can't
 * leak into (or inherit from) the Conexi theme. Motion uses only transform /
 * opacity / width, is GPU-friendly, and fully respects prefers-reduced-motion.
 * No web fonts are loaded (a refined system stack keeps the page CLS- and
 * render-blocking-free).
 * ========================================================================== */

.gx-testimonials {
    /* ---- brand tokens (roles ported from the spec, gold replaces red) ---- */
    --gx-ink:      #14161c;   /* primary text / dark surfaces  */
    --gx-ink-soft: #5a606e;   /* secondary / muted text        */
    --gx-gold:     #d99400;   /* brand accent                  */
    --gx-gold-2:   #f6b700;   /* accent highlight              */
    --gx-gold-d:   #b8790a;   /* accent gradient end / hover   */
    --gx-line:     #ececef;   /* hairline borders / dividers   */

    --gx-radius:    20px;
    --gx-radius-sm: 14px;
    --gx-shadow-sm: 0 10px 30px rgba(20, 22, 28, 0.06);
    --gx-shadow-md: 0 22px 60px rgba(20, 22, 28, 0.12);
    --gx-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--gx-ink);
    background: #fff;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.gx-testimonials *,
.gx-testimonials *::before,
.gx-testimonials *::after { box-sizing: border-box; }

.gx-testimonials .auto-container {
    width: min(1200px, 100% - 40px);
    margin-inline: auto;
    padding: 0;
}

.gx-testimonials .screen-reader-text {
    position: absolute !important; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}

/* -----------------------------------------------------------------------------
 * Section rhythm + headings
 * -------------------------------------------------------------------------- */
.gx-testimonials .gx-section { padding: 120px 0; }
.gx-testimonials .gx-head { max-width: 720px; margin: 0 auto 64px; text-align: center; }
.gx-testimonials .gx-kicker {
    display: inline-block; margin-bottom: 14px;
    font-size: 0.8rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--gx-gold);
}
.gx-testimonials .gx-head h2 {
    margin: 0; font-size: clamp(1.8rem, 4.2vw, 2.75rem); font-weight: 800;
    line-height: 1.1; letter-spacing: -0.5px; color: var(--gx-ink);
}
.gx-testimonials .gx-lead { margin: 16px 0 0; color: var(--gx-ink-soft); font-size: 1.08rem; line-height: 1.6; }

/* -----------------------------------------------------------------------------
 * Buttons
 * -------------------------------------------------------------------------- */
.gx-testimonials .gx-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 15px 28px; border-radius: 12px;
    font-size: 0.95rem; font-weight: 700; line-height: 1; text-decoration: none;
    border: 1.5px solid transparent; cursor: pointer;
    transition: all 0.35s var(--gx-ease);
}
.gx-testimonials .gx-btn__arrow { transition: transform 0.35s var(--gx-ease); }
.gx-testimonials .gx-btn:hover .gx-btn__arrow { transform: translateX(5px); }
.gx-testimonials .gx-btn--primary {
    background: var(--gx-ink); color: #fff;
    box-shadow: 0 12px 28px rgba(20, 22, 28, 0.22);
}
.gx-testimonials .gx-btn--primary:hover {
    background: linear-gradient(135deg, var(--gx-gold-2), var(--gx-gold));
    color: #241a05; transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(217, 148, 0, 0.4);
}
.gx-testimonials .gx-btn--ghost {
    background: transparent; color: var(--gx-ink); border-color: var(--gx-line);
}
.gx-testimonials .gx-btn--ghost:hover { border-color: var(--gx-ink); transform: translateY(-3px); }
.gx-testimonials .gx-btn--light {
    background: #fff; color: var(--gx-ink); box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}
.gx-testimonials .gx-btn--light:hover {
    transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
    color: var(--gx-gold-d);
}
.gx-testimonials .gx-btn--ghost-dark { color: #fff; border-color: rgba(255, 255, 255, 0.35); }
.gx-testimonials .gx-btn--ghost-dark:hover { border-color: #fff; background: rgba(255, 255, 255, 0.08); }
.gx-testimonials .gx-btn:focus-visible { outline: 3px solid var(--gx-gold-2); outline-offset: 3px; }

/* -----------------------------------------------------------------------------
 * Stars
 * -------------------------------------------------------------------------- */
.gx-testimonials .gx-stars { display: inline-flex; gap: 3px; }
.gx-testimonials .gx-star { width: 20px; height: 20px; fill: #dfe2e8; }
.gx-testimonials .gx-stars--sm .gx-star { width: 16px; height: 16px; }
.gx-testimonials .gx-star--on { fill: var(--gx-gold-2); }
.gx-testimonials .gx-g { width: 16px; height: 16px; flex: none; }

/* -----------------------------------------------------------------------------
 * Verified tick + Google chip (brand gold, no green)
 * -------------------------------------------------------------------------- */
.gx-testimonials .gx-verified {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 0.76rem; font-weight: 700; color: var(--gx-gold-d);
}
.gx-testimonials .gx-verified .fa { color: var(--gx-gold); }
.gx-testimonials .gx-chip {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 6px 12px; border-radius: 999px;
    font-size: 0.76rem; font-weight: 600; color: var(--gx-ink-soft);
    background: #f4f5f7; border: 1px solid var(--gx-line);
}
/* Interactive "Read on Google" chip (Option B — opens the reviews list). */
.gx-testimonials a.gx-chip { text-decoration: none; }
.gx-testimonials .gx-chip--link {
    cursor: pointer;
    transition: color 0.3s var(--gx-ease), border-color 0.3s var(--gx-ease),
                background 0.3s var(--gx-ease), transform 0.3s var(--gx-ease);
}
.gx-testimonials .gx-chip--link:hover {
    color: var(--gx-ink); border-color: var(--gx-gold);
    background: rgba(217, 148, 0, 0.08); transform: translateY(-1px);
}
.gx-testimonials .gx-chip__arrow { transition: transform 0.3s var(--gx-ease); }
.gx-testimonials .gx-chip--link:hover .gx-chip__arrow { transform: translateX(3px); }
.gx-testimonials .gx-chip--link:focus-visible { outline: 2px solid var(--gx-gold-2); outline-offset: 2px; }
.gx-testimonials .gx-featured__age { font-weight: 500; color: #9aa0ab; }

/* -----------------------------------------------------------------------------
 * Avatars — brand ink/gold palette only (index by first character)
 * -------------------------------------------------------------------------- */
.gx-testimonials .gx-avatar {
    flex: none; width: 46px; height: 46px; border-radius: 50%;
    display: grid; place-items: center;
    font-size: 0.98rem; font-weight: 800; color: #fff;
}
.gx-testimonials .gx-av--0 { background: linear-gradient(135deg, #14161c, #2b2f3a); }
.gx-testimonials .gx-av--1 { background: linear-gradient(135deg, #f0aa10, #b8790a); }
.gx-testimonials .gx-av--2 { background: linear-gradient(135deg, #2b2f3a, #3a3f4b); }
.gx-testimonials .gx-av--3 { background: linear-gradient(135deg, #d99400, #a86f00); }
.gx-testimonials .gx-av--4 { background: linear-gradient(135deg, #3a3f4b, #14161c); }

/* =============================================================================
 * 1 · HERO
 * ========================================================================== */
.gx-testimonials .gx-hero {
    position: relative; isolation: isolate; overflow: hidden;
    padding: 130px 0 110px; text-align: center;
    background:
        radial-gradient(1200px 600px at 70% -10%, #fff7e8 0%, #ffffff 45%),
        linear-gradient(180deg, #ffffff 0%, #f7f8fb 100%);
}
.gx-testimonials .gx-hero__inner { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; }
.gx-testimonials .gx-crumb {
    display: inline-flex; gap: 9px; align-items: center;
    font-size: 0.85rem; color: var(--gx-ink-soft); margin-bottom: 24px;
}
.gx-testimonials .gx-crumb a { color: var(--gx-ink-soft); text-decoration: none; }
.gx-testimonials .gx-crumb a:hover { color: var(--gx-gold-d); }
.gx-testimonials .gx-crumb [aria-current] { color: var(--gx-ink); font-weight: 600; }
.gx-testimonials .gx-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 18px; border-radius: 999px; margin-bottom: 24px;
    font-size: 0.85rem; font-weight: 700;
    color: var(--gx-gold-d); background: rgba(217, 148, 0, 0.1);
}
.gx-testimonials .gx-eyebrow .fa { color: var(--gx-gold-2); }
.gx-testimonials .gx-hero__title {
    margin: 0 0 20px; font-size: clamp(2.15rem, 6vw, 4rem); font-weight: 800;
    line-height: 1.06; letter-spacing: -1.5px; color: var(--gx-ink);
}
.gx-testimonials .gx-hero__lead {
    max-width: 660px; margin: 0 auto 28px; font-size: 1.18rem;
    line-height: 1.6; color: var(--gx-ink-soft);
}
.gx-testimonials .gx-hero__rating {
    display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap;
    justify-content: center; margin-bottom: 34px;
}
.gx-testimonials .gx-hero__rating strong { font-size: 1.3rem; font-weight: 800; color: var(--gx-ink); }
.gx-testimonials .gx-hero__rating span { color: var(--gx-ink-soft); font-size: 0.95rem; }
.gx-testimonials .gx-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-bottom: 56px; }
.gx-testimonials .gx-hero__stats {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
    list-style: none; margin: 0; padding: 34px 0 0;
    border-top: 1px solid var(--gx-line);
}
.gx-testimonials .gx-hero__stats li { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.gx-testimonials .gx-hero__stats .gx-count {
    font-size: clamp(1.7rem, 4vw, 2.3rem); font-weight: 800; color: var(--gx-ink);
    line-height: 1; font-variant-numeric: tabular-nums;
}
.gx-testimonials .gx-hero-stat__label { font-size: 0.85rem; color: var(--gx-ink-soft); }

/* Hero stat icon tile — same dark ink → gold 3D flip as the "By the numbers"
 * cards, sized down slightly for the hero strip. Carries the Google G on the
 * "Reviews on Google" stat, exactly like the section below. */
.gx-testimonials .gx-hero-stat__icon {
    display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 4px;
    border-radius: 15px; font-size: 1.35rem; color: #fff;
    background: linear-gradient(135deg, #1a1c24, #2b2f3a);
    box-shadow: var(--gx-shadow-sm);
    transition: background 0.45s var(--gx-ease), transform 0.6s var(--gx-ease);
    transform-style: preserve-3d;
}
.gx-testimonials .gx-hero__stats li:hover .gx-hero-stat__icon {
    background: linear-gradient(135deg, var(--gx-gold-2), var(--gx-gold-d));
    color: #241a05; transform: rotateY(180deg);
}
.gx-testimonials .gx-hero-stat__icon .gx-glogo { width: 26px; height: 26px; }

/* Decorative floating blobs */
.gx-testimonials .gx-blob {
    position: absolute; z-index: 0; border-radius: 50%;
    filter: blur(10px); opacity: 0.55; pointer-events: none;
}
.gx-testimonials .gx-blob--1 {
    width: 460px; height: 460px; top: -140px; right: -120px;
    background: radial-gradient(circle at 40% 40%, rgba(246, 183, 0, 0.4), transparent 70%);
}
.gx-testimonials .gx-blob--2 {
    width: 380px; height: 380px; bottom: -160px; left: -120px;
    background: radial-gradient(circle at 40% 40%, rgba(20, 22, 28, 0.16), transparent 70%);
}
@media (prefers-reduced-motion: no-preference) {
    .gx-testimonials .gx-blob--1 { animation: gx-float 9s ease-in-out infinite; }
    .gx-testimonials .gx-blob--2 { animation: gx-float 11s ease-in-out infinite reverse; }
}
@keyframes gx-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-24px); } }

/* =============================================================================
 * 2 · STAT CARDS
 * ========================================================================== */
.gx-testimonials .gx-stats { background: linear-gradient(180deg, #fafbfc, #f4f5f7); }
.gx-testimonials .gx-stats__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.gx-testimonials .gx-stat-card {
    text-align: center; padding: 40px 30px; border-radius: var(--gx-radius);
    background: rgba(255, 255, 255, 0.75);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: var(--gx-shadow-sm);
    transition: transform 0.4s var(--gx-ease), box-shadow 0.4s var(--gx-ease);
}
.gx-testimonials .gx-stat-card:hover { transform: translateY(-8px); box-shadow: var(--gx-shadow-md); }
/* Icon tile matches the Trust / Why cards below: dark ink tile, white glyph,
 * 3D flip to gold on hover (see .gx-icard__icon). */
.gx-testimonials .gx-stat-card__icon {
    display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 20px;
    border-radius: 16px; font-size: 1.6rem; color: #fff;
    background: linear-gradient(135deg, #1a1c24, #2b2f3a);
    transition: background 0.45s var(--gx-ease), transform 0.6s var(--gx-ease);
    transform-style: preserve-3d;
}
.gx-testimonials .gx-stat-card:hover .gx-stat-card__icon {
    background: linear-gradient(135deg, var(--gx-gold-2), var(--gx-gold-d));
    color: #241a05; transform: rotateY(180deg);
}
/* The "Verified Google reviews" tile is identical to every other stat tile
 * (dark ink → gold flip). The Google G is painted on TWO faces (front + back)
 * of the SAME rotating tile — no separate, counter-rotating element — so the
 * logo turns as one rigid unit with the background (no desync/lag) and always
 * lands upright. backface-visibility swaps which face you see through the flip. */
.gx-testimonials .gx-stat-card__icon--google,
.gx-testimonials .gx-hero-stat__icon--google { position: relative; }
.gx-testimonials .gx-glogo { width: 32px; height: 32px; display: block; }
.gx-testimonials .gx-glogo--front,
.gx-testimonials .gx-glogo--back {
    position: absolute; top: 50%; left: 50%;
    -webkit-backface-visibility: hidden; backface-visibility: hidden;
}
.gx-testimonials .gx-glogo--front { transform: translate(-50%, -50%) rotateY(0deg); }
.gx-testimonials .gx-glogo--back  { transform: translate(-50%, -50%) rotateY(180deg); }
.gx-testimonials .gx-stat-card .gx-count {
    display: block; font-size: clamp(2.2rem, 4.5vw, 2.9rem); font-weight: 800;
    line-height: 1; color: var(--gx-ink); font-variant-numeric: tabular-nums;
}
.gx-testimonials .gx-stat-card__label { display: block; margin-top: 10px; color: var(--gx-ink-soft); font-size: 0.95rem; }

/* =============================================================================
 * 3 · RATING BREAKDOWN
 * ========================================================================== */
.gx-testimonials .gx-breakdown { background: #fff; }
.gx-testimonials .gx-breakdown__inner {
    max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: 280px 1fr; gap: 60px;
    padding: 48px; border: 1px solid var(--gx-line); border-radius: var(--gx-radius);
    box-shadow: var(--gx-shadow-sm);
}
.gx-testimonials .gx-breakdown__score {
    text-align: center; padding-right: 60px; border-right: 1px solid var(--gx-line);
    display: flex; flex-direction: column; align-items: center; gap: 10px; justify-content: center;
}
.gx-testimonials .gx-breakdown__big { font-size: 4.8rem; font-weight: 800; line-height: 1; color: var(--gx-ink); }
.gx-testimonials .gx-breakdown__score p { margin: 4px 0 0; color: var(--gx-ink-soft); font-size: 0.9rem; }
.gx-testimonials .gx-breakdown__bars { display: flex; flex-direction: column; gap: 14px; }
.gx-testimonials .gx-bar { display: grid; grid-template-columns: 46px 1fr 46px; align-items: center; gap: 14px; }
.gx-testimonials .gx-bar__label { font-size: 0.9rem; font-weight: 600; color: var(--gx-ink-soft); white-space: nowrap; }
.gx-testimonials .gx-bar__label .fa { color: var(--gx-gold-2); font-size: 0.8em; }
.gx-testimonials .gx-bar__track { height: 10px; background: #eef0f3; border-radius: 999px; overflow: hidden; }
.gx-testimonials .gx-bar__fill {
    display: block; height: 100%; width: 0;
    background: linear-gradient(90deg, var(--gx-gold-2), var(--gx-gold));
    border-radius: 999px; transition: width 1.1s var(--gx-ease);
}
.gx-testimonials .gx-bar__pct { font-size: 0.85rem; font-weight: 700; color: var(--gx-ink); text-align: right; font-variant-numeric: tabular-nums; }
.gx-testimonials .gx-breakdown__note { margin: 8px 0 0; font-size: 0.85rem; line-height: 1.55; color: var(--gx-ink-soft); }

/* =============================================================================
 * 4 · FEATURED STORIES
 * ========================================================================== */
/* Neutral band — no yellow. Clean white cards on a soft grey wash so the
 * featured stories read as a distinct, premium section without off-brand cream. */
.gx-testimonials .gx-featured { background: linear-gradient(180deg, #f7f8fa, #f1f3f6); }
.gx-testimonials .gx-featured__list { display: flex; flex-direction: column; gap: 28px; }
.gx-testimonials .gx-featured__card {
    display: grid; grid-template-columns: 230px 1fr; background: #fff;
    border: 1px solid var(--gx-line);
    border-radius: var(--gx-radius); overflow: hidden; box-shadow: var(--gx-shadow-sm);
    transition: transform 0.4s var(--gx-ease), box-shadow 0.4s var(--gx-ease), border-color 0.4s var(--gx-ease);
}
.gx-testimonials .gx-featured__card:hover { transform: translateY(-6px); box-shadow: var(--gx-shadow-md); border-color: transparent; }
.gx-testimonials .gx-featured__media {
    position: relative; display: grid; place-items: center;
    background: linear-gradient(150deg, #1a1c24, #2b2f3a);
}
/* Subtle gold hairline where the ink panel meets the white body. */
.gx-testimonials .gx-featured__media::after {
    content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 3px;
    background: linear-gradient(180deg, var(--gx-gold-2), var(--gx-gold-d));
    opacity: 0.9;
}
.gx-testimonials .gx-featured__mark {
    position: absolute; top: 10px; left: 18px; font-family: Georgia, serif;
    font-size: 4.5rem; line-height: 1; color: rgba(246, 183, 0, 0.25);
}
.gx-testimonials .gx-featured__avatar {
    width: 88px; height: 88px; border-radius: 50%; display: grid; place-items: center;
    font-size: 1.7rem; font-weight: 800; color: #fff;
    background: linear-gradient(135deg, var(--gx-gold-2), var(--gx-gold-d));
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
}
.gx-testimonials .gx-featured__body { padding: 38px 40px; }
/* Override the parent theme's yellow <blockquote> skin (tut.css sets a solid
 * #ffc000 fill + 69px padding on bare `blockquote`, plus a Font Awesome quote
 * glyph). !important mirrors the proven About-page fix (.gas-quote) so the skin
 * can never bleed back through regardless of load order or caching. */
.gx-testimonials .gx-featured__body blockquote,
.gx-testimonials .gx-featured__body blockquote p {
    background: none !important; border: 0 !important; border-radius: 0 !important;
    box-shadow: none !important;
}
.gx-testimonials .gx-featured__body blockquote {
    margin: 16px 0 20px; font-size: 1.18rem; line-height: 1.6; font-weight: 500;
    color: #2a323f; padding: 0; quotes: none;
}
.gx-testimonials .gx-featured__body blockquote::before,
.gx-testimonials .gx-featured__body blockquote::after,
.gx-testimonials .gx-featured__body blockquote p::before,
.gx-testimonials .gx-featured__body blockquote p::after { content: none !important; display: none !important; }
.gx-testimonials .gx-featured__meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.gx-testimonials .gx-featured__name { font-weight: 700; color: var(--gx-ink); display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* =============================================================================
 * 5 · REVIEW GRID (CSS-columns masonry)
 * ========================================================================== */
.gx-testimonials .gx-grid-section { background: #fff; }
.gx-testimonials .gx-grid { column-count: 3; column-gap: 26px; }
.gx-testimonials .gx-card {
    break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 26px;
    background: #fff; border: 1px solid var(--gx-line); border-radius: var(--gx-radius);
    padding: 26px 26px 22px; box-shadow: var(--gx-shadow-sm);
    transition: transform 0.4s var(--gx-ease), box-shadow 0.4s var(--gx-ease), border-color 0.4s var(--gx-ease);
}
.gx-testimonials .gx-card:hover { transform: translateY(-6px); box-shadow: var(--gx-shadow-md); border-color: transparent; }
.gx-testimonials .gx-card__top { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.gx-testimonials .gx-card__who { min-width: 0; margin-right: auto; }
.gx-testimonials .gx-card__name { margin: 0; font-size: 0.98rem; font-weight: 700; color: var(--gx-ink); }
.gx-testimonials .gx-card__loc { font-size: 0.8rem; color: #9aa0ab; }
.gx-testimonials .gx-card__top .gx-verified { align-self: flex-start; }
.gx-testimonials .gx-card .gx-stars { margin-bottom: 14px; }
.gx-testimonials .gx-card__text { margin: 0 0 18px; font-size: 0.95rem; line-height: 1.7; color: #3a3f4b; }
.gx-testimonials .gx-card__foot {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding-top: 16px; border-top: 1px solid var(--gx-line);
}
.gx-testimonials .gx-card__date { font-size: 0.8rem; color: #9aa0ab; white-space: nowrap; }
.gx-testimonials .gx-grid-note { text-align: center; margin: 40px 0 0; color: var(--gx-ink-soft); font-size: 0.95rem; }
.gx-testimonials .gx-grid-note a { color: var(--gx-gold-d); font-weight: 600; text-decoration: none; }
.gx-testimonials .gx-grid-note a:hover { text-decoration: underline; }

/* =============================================================================
 * 6 · TRUST  &  7 · WHY  (icon cards, flip on hover)
 * ========================================================================== */
.gx-testimonials .gx-trust { background: linear-gradient(180deg, #f7f8fa, #f1f3f6); }
.gx-testimonials .gx-why { background: #fff; }
.gx-testimonials .gx-trust__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.gx-testimonials .gx-why__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.gx-testimonials .gx-icard {
    text-align: center; padding: 34px 28px; background: #fff;
    border: 1px solid var(--gx-line); border-radius: var(--gx-radius);
    transition: transform 0.4s var(--gx-ease), box-shadow 0.4s var(--gx-ease);
}
.gx-testimonials .gx-icard:hover { transform: translateY(-8px); box-shadow: var(--gx-shadow-md); }
.gx-testimonials .gx-icard__icon {
    display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 20px;
    border-radius: 18px; font-size: 1.7rem; color: #fff;
    background: linear-gradient(135deg, #1a1c24, #2b2f3a);
    transition: background 0.45s var(--gx-ease), transform 0.6s var(--gx-ease);
    transform-style: preserve-3d;
}
.gx-testimonials .gx-icard:hover .gx-icard__icon {
    background: linear-gradient(135deg, var(--gx-gold-2), var(--gx-gold-d));
    color: #241a05; transform: rotateY(180deg);
}
.gx-testimonials .gx-icard h3 { margin: 0 0 8px; font-size: 1.12rem; font-weight: 700; color: var(--gx-ink); }
.gx-testimonials .gx-icard p { margin: 0; font-size: 0.92rem; line-height: 1.6; color: var(--gx-ink-soft); }

/* =============================================================================
 * 8 · CLOSING CTA
 * ========================================================================== */
.gx-testimonials .gx-cta {
    position: relative; isolation: isolate; overflow: hidden; text-align: center; color: #fff;
    background: radial-gradient(900px 500px at 50% -20%, #2b2f3a 0%, #14161c 60%);
}
.gx-testimonials .gx-cta__inner { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
.gx-testimonials .gx-cta h2 {
    margin: 0 0 16px; font-size: clamp(1.9rem, 5vw, 3.1rem); font-weight: 800;
    letter-spacing: -1px; line-height: 1.1; color: #fff;
}
.gx-testimonials .gx-cta p { margin: 0 auto 32px; max-width: 560px; font-size: 1.1rem; line-height: 1.6; color: rgba(255, 255, 255, 0.78); }
.gx-testimonials .gx-cta__btns { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.gx-testimonials .gx-blob--3 {
    width: 620px; height: 620px; top: -220px; left: 50%; transform: translateX(-50%);
    background: radial-gradient(circle at 50% 50%, rgba(246, 183, 0, 0.14), transparent 65%);
    z-index: 0;
}

/* =============================================================================
 * SCROLL-REVEAL — gated by .gxt-ready so no-JS shows everything
 * ========================================================================== */
.gx-testimonials.gxt-ready .gxt-reveal {
    opacity: 0; transform: translateY(34px);
    transition: opacity 0.7s var(--gx-ease), transform 0.7s var(--gx-ease);
    transition-delay: var(--gx-delay, 0ms);
}
.gx-testimonials.gxt-ready .gxt-reveal.gxt-in { opacity: 1; transform: none; }

/* =============================================================================
 * RESPONSIVE
 * ========================================================================== */
@media (max-width: 1100px) {
    .gx-testimonials .gx-grid { column-count: 2; }
    .gx-testimonials .gx-why__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991px) {
    .gx-testimonials .gx-section { padding: 84px 0; }
    .gx-testimonials .gx-stats__grid,
    .gx-testimonials .gx-trust__grid { grid-template-columns: repeat(2, 1fr); }
    .gx-testimonials .gx-breakdown__inner { grid-template-columns: 1fr; gap: 36px; padding: 36px; }
    .gx-testimonials .gx-breakdown__score { padding: 0 0 32px; border-right: 0; border-bottom: 1px solid var(--gx-line); }
    .gx-testimonials .gx-featured__card { grid-template-columns: 1fr; }
    .gx-testimonials .gx-featured__media { min-height: 160px; }
    /* Stacked layout: move the gold seam to the bottom edge of the top panel. */
    .gx-testimonials .gx-featured__media::after {
        top: auto; right: 0; bottom: 0; left: 0; width: auto; height: 3px;
        background: linear-gradient(90deg, var(--gx-gold-2), var(--gx-gold-d));
    }
    .gx-testimonials .gx-featured__mark { font-size: 3.5rem; }
}
@media (max-width: 640px) {
    .gx-testimonials .gx-section { padding: 64px 0; }
    .gx-testimonials .gx-hero { padding: 90px 0 70px; }
    .gx-testimonials .gx-hero__stats { grid-template-columns: repeat(2, 1fr); gap: 24px 16px; }
    .gx-testimonials .gx-grid { column-count: 1; }
    .gx-testimonials .gx-stats__grid,
    .gx-testimonials .gx-trust__grid,
    .gx-testimonials .gx-why__grid { grid-template-columns: 1fr; }
    .gx-testimonials .gx-featured__body { padding: 28px 24px; }
    .gx-testimonials .gx-breakdown__big { font-size: 3.6rem; }
}

/* =============================================================================
 * REDUCED MOTION
 * ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .gx-testimonials *,
    .gx-testimonials *::before,
    .gx-testimonials *::after {
        animation-duration: 0.001ms !important; animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
    .gx-testimonials.gxt-ready .gxt-reveal { opacity: 1 !important; transform: none !important; }
    .gx-testimonials .gx-icard:hover .gx-icard__icon,
    .gx-testimonials .gx-stat-card:hover .gx-stat-card__icon,
    .gx-testimonials .gx-hero__stats li:hover .gx-hero-stat__icon { transform: none; }
}

/* Forced-colors safety */
@media (forced-colors: active) {
    .gx-testimonials .gx-card,
    .gx-testimonials .gx-icard,
    .gx-testimonials .gx-stat-card,
    .gx-testimonials .gx-btn { border: 1px solid CanvasText; }
}
