/* Client feedback page, matching Total Accounting's navy, teal and gold. */
.testimonials-page .page-hero { padding-block: 62px; }
.testimonials-page .page-hero h1 { font-size: clamp(2.7rem,5.5vw,4.8rem); }
.testimonials-page .page-hero .button-row { margin-top: 30px; }
.testimonial-services { background: #e8f2f6; }
.testimonial-products { background: #cfE4ed; }
.testimonial-heading { max-width: 800px; margin-bottom: 34px; }
.testimonial-heading h2 { font-size: clamp(2rem,3.5vw,3.2rem); line-height: 1.18; }
.testimonial-heading > p:last-child { margin-top: 18px; max-width: 650px; color: #37556b; }
.client-quotes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.client-quote { padding: 32px; background: #f8fcfd; border: 1px solid #a8c9d8; border-top: 4px solid #087c91; border-radius: 12px; box-shadow: 0 10px 26px #123f600b; }
.client-quote-featured { grid-column: 1 / -1; background: #123f60; border-color: #32718d; border-top-color: #e5b94e; }
.client-quote .quote-topic { font-size: .8rem; letter-spacing: .035em; font-weight: 800; color: #086b7d; margin: 0 0 18px; }
.client-quote blockquote { margin: 0; }
.client-quote blockquote p { color: #193c51; font-size: 1.02rem; line-height: 1.8; }
.client-quote blockquote p:first-child::before { content: '“'; font-family: Georgia,serif; font-size: 1.6em; line-height: 0; color: #087c91; }
.client-quote blockquote p:last-child::after { content: '”'; }
.client-quote footer { display: grid; gap: 4px; padding-top: 22px; margin-top: 24px; border-top: 1px solid #c2dce6; color: #123f60; }
.client-quote footer span { font-size: .87rem; color: #496677; }
.client-quote-featured blockquote p, .client-quote-featured footer strong { color: #f4fafd; }
.client-quote-featured .quote-topic, .client-quote-featured blockquote p:first-child::before { color: #e5b94e; }
.client-quote-featured footer { border-color: #ffffff35; }
.client-quote-featured footer span { color: #c1dbe9; }
.testimonial-source { max-width: 850px; color: #3a596c; font-size: .86rem; margin: 32px 0 16px; }
.testimonial-next { background: #e8f2f6; }
.testimonial-next .proof-band { border-radius: 14px; }
.testimonials-more { margin-top: 28px; }
@media(max-width: 700px) { .client-quotes { grid-template-columns: 1fr; } .client-quote { padding: 25px; } .testimonials-page .page-hero { padding-block: 42px; } .testimonial-next .proof-band { padding: 28px; } }

/* A warmer, colourful setting for the client stories. */
.testimonials-page .page-hero { background: #0b2c45; }
.testimonial-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; }
.testimonials-page .page-hero h1 { font-size:clamp(2.65rem,4.4vw,4.1rem); }
.happy-hero-picture { margin:0; background:#e7ba4c; border:6px solid #e7ba4c; border-radius:16px; overflow:hidden; transform:rotate(1deg); }
.happy-hero-picture img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.happy-hero-picture figcaption { padding:16px; color:#102d41; font-weight:750; font-size:.95rem; }
.happy-hero-picture figcaption span { display:block; margin-top:5px; font-size:.75rem; font-weight:500; }
.testimonial-services { background:#e8f4ed; }
.testimonial-products { background:#f5edda; }
.testimonials-page .client-quote { border:0; border-top:5px solid #f2cb6c; background:#126572; box-shadow:0 10px 25px #123f6015; }
.testimonial-services .client-quote:nth-child(1) { background:#164d69; }
.testimonial-services .client-quote:nth-child(2) { background:#0e6264; }
.testimonial-services .client-quote:nth-child(3) { background:#65436f; }
.testimonial-products .client-quote:nth-child(1) { background:#225f80; }
.testimonial-products .client-quote:nth-child(2) { background:#8c4b32; }
.testimonial-products .client-quote:nth-child(3) { background:#22664d; }
.testimonial-products .client-quote:nth-child(4) { background:#624b7b; }
.testimonials-page .client-quote blockquote p, .testimonials-page .client-quote footer strong { color:#fff; }
.testimonials-page .client-quote .quote-topic, .testimonials-page .client-quote blockquote p:first-child::before { color:#ffe3a2; }
.testimonials-page .client-quote footer { border-color:#ffffff40; color:#fff; }
.testimonials-page .client-quote footer span { color:#ecf4f7; }
.testimonials-page .client-quotes { align-items:stretch; }
.testimonials-page .client-quote { display:flex; flex-direction:column; }
.testimonials-page .client-quote footer { margin-top:auto; padding-top:20px; }
.testimonials-page .client-quote blockquote { margin-bottom:24px; }
.happy-support-section { background:#e4bc59; }
.happy-support-heading { max-width:760px; margin-bottom:32px; }
.happy-support-heading h2 { font-size:clamp(2rem,3.5vw,3.2rem); line-height:1.18; color:#0b2c45; }
.happy-support-heading>p:last-child { color:#254657; margin-top:18px; }
.happy-support-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.happy-support-gallery figure { margin:0; overflow:hidden; border-radius:14px; background:#0f5660; }
.happy-support-gallery figure:nth-child(2) { background:#173e60; }
.happy-support-gallery img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.happy-support-gallery figcaption { display:grid; gap:6px; padding:22px 24px; color:#fff; }
.happy-support-gallery figcaption strong { font-size:1.1rem; }
.happy-support-gallery figcaption span { color:#e5f5fa; font-size:.92rem; }
.happy-photo-note { font-size:.78rem; margin-top:18px; color:#294756; max-width:850px; }
.testimonials-page #accounting-support, .testimonials-page #smartbank-feedback { scroll-margin-top:100px; }
@media(max-width:900px) { .testimonial-hero-grid { grid-template-columns:1fr; gap:34px; } .happy-hero-picture { max-width:650px; transform:none; } }
@media(max-width:700px) { .happy-support-gallery { grid-template-columns:1fr; gap:22px; } .happy-support-gallery figcaption { padding:20px; } }

/* Pair longer SmartBank stories first, followed by the shorter feedback. */
.testimonial-products .client-quotes { align-items: stretch; }
.testimonial-next .proof-band { grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); gap: 40px; }
.testimonial-next .proof-band > div { min-width: 0; }
.testimonial-next .proof-band > div > p:not(.eyebrow) { color: #edf5f8; font-size: 1.125rem; line-height: 1.75; }
.testimonial-next .proof-band .eyebrow { font-size: .85rem; color: #d6e7ee; }
.testimonial-next .button-row { gap: 14px; flex-wrap: wrap; }
.testimonial-next .button { font-size: 1rem; line-height: 1.4; min-height: 52px; padding: 15px 22px; text-align: center; }
.testimonial-next .button-support-green { background: #087a45; color: #fff; border-color: #60c998; }
.testimonial-next .button-support-green:hover { background: #065d35; border-color: #9ce5c2; }
.testimonial-next .button-support-green:focus-visible { outline: 3px solid #f5ca67; outline-offset: 4px; }
@media (max-width: 760px) { .testimonial-next .proof-band { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 480px) { .testimonial-next .button-row { flex-direction: column; align-items: stretch; } .testimonial-next .button { width: 100%; } }
