/* One shared homepage style; no page-specific review designs. */
.ns-google-reviews.section { padding-block:48px; }
.ns-google-reviews .ns-section-head { max-width:850px; margin-bottom:26px; }
.ns-google-reviews .ns-home-reviews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ns-google-reviews .ns-home-reviews[data-review-count="1"] { grid-template-columns:minmax(0,1fr); max-width:850px; }
.ns-google-reviews .ns-home-reviews[data-review-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ns-google-reviews .ns-home-review { margin:0; padding:24px; border:1px solid var(--line); border-radius:14px; background:#fff; display:flex; flex-direction:column; min-width:0; }
.ns-google-reviews .ns-home-stars { color:#b58b27; font-size:1.2rem; letter-spacing:2px; }
.ns-google-reviews .ns-home-review blockquote { margin:16px 0 22px; font-size:1.1rem; line-height:1.55; overflow-wrap:anywhere; }
.ns-google-reviews .ns-home-review figcaption { display:flex; flex-direction:column; gap:5px; font-size:.9rem; margin-top:auto; }
.ns-google-reviews .ns-home-review figcaption span,.ns-google-reviews .ns-home-source-note { color:var(--ink-mute); font-size:.85rem; }
.ns-google-reviews .ns-home-source-note { margin:20px 0 12px; }
@media(max-width:1000px) { .ns-google-reviews .ns-home-reviews { gap:16px; } }
@media(min-width:761px) and (max-width:1000px) { .ns-google-reviews .ns-home-reviews { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .ns-google-reviews.section { padding-block:34px; } .ns-google-reviews .ns-home-reviews,.ns-google-reviews .ns-home-reviews[data-review-count="2"] { grid-template-columns:1fr; } }
/* Shared approved warm review cards, with actual individual scores. */
.ns-google-reviews.section{background:#f9f7f3}
.ns-google-reviews .ns-home-review{border-top:4px solid #dca56d;box-shadow:0 5px 18px rgba(50,50,50,.05);transition:box-shadow .2s}
.ns-google-reviews .ns-home-review:nth-child(3n+2){border-top-color:#8ba6ac}
.ns-google-reviews .ns-home-review:nth-child(3n){border-top-color:#98ad8e}
.ns-google-reviews .ns-home-review:hover{box-shadow:0 8px 24px rgba(50,50,50,.1)}
.ns-review-score{display:flex;align-items:center;gap:12px;color:#293238}
.ns-google-reviews .ns-home-stars{color:#b07914}
.ns-review-score strong{font-size:1.15rem}
.ns-google-reviews .ns-home-review figcaption span,.ns-google-reviews .ns-home-source-note,.ns-google-reviews .ns-home-review small{color:#515151}
.ns-google-reviews .ns-review-category{background:#f6ede1;padding:5px 8px;border-radius:6px;align-self:flex-start}
.ns-google-reviews figcaption a{color:var(--text-accent-light);text-decoration:underline;text-underline-offset:3px;margin-top:8px}
.ns-review-more{display:inline-block;margin-left:24px}
.ns-review-expand{margin-bottom:20px}
.ns-review-expand summary{cursor:pointer;font-weight:600;text-decoration:underline;color:var(--text-accent-light)}
.ns-review-expand blockquote{font-size:1rem!important}
.ns-review-hero{background:#f9f7f3;border-top:4px solid #dca56d}
.ns-review-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:48px;align-items:center}
.ns-review-hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.15;margin:18px 0}
.ns-review-trust{background:#fff;border:1px solid #ded5c7;border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px}
.ns-review-source{font-weight:650;color:#515151}
.ns-review-total{display:flex;flex-direction:column;gap:10px}
.ns-review-total>strong{font-size:3.3rem;line-height:1;color:#293238}
.ns-review-total small{font-size:1.2rem;font-weight:500}
.ns-review-total-stars{position:relative;display:inline-block;align-self:flex-start;color:#8d6414;font-size:1.7rem;line-height:1;white-space:nowrap;letter-spacing:3px}
.ns-review-filled{position:absolute;inset:0 auto 0 0;overflow:hidden;color:#b07914}
.ns-review-trust small{color:#515151}
.ns-review-library h2{margin-bottom:14px}
.ns-review-filters{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 18px}
.ns-review-filters a{background:#fff;border:1px solid #767676;border-radius:24px;padding:10px 16px;color:#293238;text-decoration:none}
.ns-review-filters a[aria-current]{background:#323232;color:#fff;border-color:#323232}
.ns-review-filters a:hover{box-shadow:0 0 0 2px #995019}
.ns-review-filters span{font-size:.8rem;margin-left:6px}
.ns-review-results{scroll-margin-top:130px;margin-bottom:24px}
.ns-review-topic-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px}
.ns-review-topic-links a{color:#995019;text-decoration:underline}
.ns-review-closing{background:#323232;color:#fff}
.ns-review-closing h2,.ns-review-closing p{color:#fff}
.ns-review-closing .eyebrow{color:var(--text-accent-dark)!important}
.ns-review-closing .btn-ghost{color:#fff;background:transparent;border-color:#fff}
.ns-review-closing .btn-ghost:hover{background:#fff;color:#323232}
#ns-customer-reviews :focus-visible{outline:3px solid #995019;outline-offset:4px}
#ns-customer-reviews .ns-review-closing :focus-visible{outline-color:#ffb4a3}
@media(max-width:760px){.ns-review-hero-grid{grid-template-columns:1fr;gap:26px}.ns-review-trust{padding:22px}.ns-review-more{margin:12px 0 0;display:block}}
@media(max-width:480px){.ns-review-closing .ns-actions{display:grid;grid-template-columns:1fr}}
.ns-home-review-summary{margin-bottom:24px}
#home-reviews .ns-review-more{margin-top:20px}
.ns-home-review-summary .ns-review-trust{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px;background:#fffdf9}
.ns-home-review-summary .ns-review-total{flex-direction:row;align-items:center;gap:18px}
.ns-home-review-summary .ns-review-total>strong{font-size:2.2rem}
.ns-home-review-summary .ns-review-trust p{margin:0}
