/* Strategic Capital V5.8.5C4R3 — curated, equal-height static review carousel.
   All seven review texts remain server-rendered. JS provides manual carousel controls and accessible full-review dialog only. */

.sc-reviews-v1 {
  background: linear-gradient(180deg, #edf5f9 0%, #ffffff 100%);
  border-top: 1px solid rgba(52, 80, 115, 0.11);
  border-bottom: 1px solid rgba(52, 80, 115, 0.11);
}

.sc-reviews-v1__shell { padding: clamp(1.15rem, 2.3vw, 1.7rem) 0; }
.sc-reviews-v1__heading { display:flex; align-items:end; justify-content:space-between; gap:.8rem 1.6rem; margin-bottom:.8rem; }
.sc-reviews-v1__heading-copy { min-width:0; }
.sc-reviews-v1__heading h2 { max-width:680px; margin:.18rem 0 0; color:#102033; font-size:clamp(1.8rem,3vw,2.85rem); line-height:1.02; letter-spacing:-.038em; }

.sc-reviews-v1__rating { flex:0 0 auto; display:inline-flex; align-items:center; gap:.42rem; min-height:44px; padding:.54rem .72rem; border:1px solid rgba(52,80,115,.16); border-radius:6px; background:rgba(255,255,255,.92); color:#102033; text-decoration:none; box-shadow:0 7px 18px rgba(0,0,0,.04); }
.sc-reviews-v1__rating:hover,.sc-reviews-v1__rating:focus-visible { border-color:rgba(0,51,136,.45); }
.sc-reviews-v1__rating-score { font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; font-weight:700; line-height:1; }
.sc-reviews-v1__rating-stars { color:var(--sc-gold,#dda11d); font-size:.85rem; letter-spacing:.015em; }
.sc-reviews-v1__rating-count { color:var(--sc-blue,#345073); font-size:.78rem; font-weight:800; white-space:nowrap; }
.sc-reviews-v1__rating-arrow { color:var(--sc-blue-link,#003399); }

.sc-reviews-v1__carousel { position:relative; }
.sc-reviews-v1__cards { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 2rem)/3); gap:1rem; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding:.14rem 0 .3rem; }
.sc-reviews-v1__cards::-webkit-scrollbar { display:none; }
.sc-reviews-v1__cards:focus-visible { outline:2px solid var(--sc-blue-link,#003399); outline-offset:4px; }

.sc-review-v1 { position:relative; display:flex; flex-direction:column; scroll-snap-align:start; min-width:0; height:276px; overflow:hidden; padding:.95rem 1rem .9rem; border:1px solid rgba(52,80,115,.15); border-top:3px solid rgba(221,161,29,.72); border-radius:6px; background:#fff; box-shadow:0 9px 22px rgba(0,0,0,.05); }
.sc-review-v1__top { display:grid; grid-template-columns:36px minmax(0,1fr); gap:.65rem; align-items:center; flex:0 0 auto; }
.sc-review-v1__avatar { display:inline-grid; place-items:center; width:36px; height:36px; border:1px solid rgba(52,80,115,.16); border-radius:999px; background:var(--sc-pale,#e8f2f8); color:var(--sc-blue-deep,#003388); font-weight:900; }
.sc-review-v1 h3 { margin:0; color:#102033; font-size:.96rem; line-height:1.12; letter-spacing:-.01em; }
.sc-review-v1__quote { position:relative; flex:1 1 auto; min-height:0; margin:.7rem 0 .55rem; padding:0; border:0; overflow:hidden; }
.sc-review-v1__quote::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2.2rem; pointer-events:none; opacity:0; background:linear-gradient(180deg,rgba(255,255,255,0),#fff 82%); transition:opacity .15s ease; }
.sc-review-v1.is-truncated .sc-review-v1__quote::after { opacity:1; }
.sc-review-v1__quote p { margin:0; color:#102033; font-size:.87rem; line-height:1.45; }
.sc-review-v1__quote p + p { margin-top:.62rem; }
.sc-review-v1__footer { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:.65rem; min-height:32px; padding-top:.45rem; border-top:1px solid rgba(52,80,115,.09); }
.sc-review-v1__footer a,.sc-review-v1__more { color:var(--sc-blue-link,#003399); font:inherit; font-size:.75rem; font-weight:800; text-decoration:none; }
.sc-review-v1__more { display:none; padding:.2rem 0; border:0; background:transparent; cursor:pointer; }
.sc-review-v1.is-truncated .sc-review-v1__more { display:inline-flex; }
.sc-review-v1__footer a:hover,.sc-review-v1__footer a:focus-visible,.sc-review-v1__more:hover,.sc-review-v1__more:focus-visible { text-decoration:underline; text-underline-offset:2px; }

.sc-reviews-v1__controls { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; min-height:40px; margin-top:.2rem; }
.sc-reviews-v1__control { display:inline-grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid rgba(52,80,115,.18); border-radius:999px; background:#fff; color:var(--sc-blue-link,#003399); font:inherit; font-size:1rem; cursor:pointer; }
.sc-reviews-v1__control:hover,.sc-reviews-v1__control:focus-visible { border-color:rgba(0,51,136,.5); background:#f8fbfd; }
.sc-reviews-v1__control:disabled { opacity:.35; cursor:default; }
.sc-reviews-v1__position { min-width:5.1rem; color:var(--sc-muted,#555); font-size:.75rem; font-weight:750; text-align:center; }

.sc-reviews-v1__source-row { display:flex; align-items:center; justify-content:space-between; gap:.55rem 1.25rem; margin-top:.05rem; padding-top:.62rem; border-top:1px solid rgba(52,80,115,.11); }
.sc-reviews-v1__source-row p { margin:0; color:var(--sc-muted,#555); font-size:.74rem; line-height:1.35; }
.sc-reviews-v1__source-row a { flex:0 0 auto; min-height:40px; display:inline-flex; align-items:center; color:var(--sc-blue-link,#003399); font-size:.78rem; font-weight:850; }
.sc-reviews-v1__disclosure { max-width:1060px; margin:.42rem auto 0; color:var(--sc-blue,#345073); font-size:.69rem; line-height:1.38; text-align:center; }

.sc-review-dialog { width:min(680px,calc(100vw - 2rem)); max-height:min(78vh,760px); padding:0; border:1px solid rgba(52,80,115,.2); border-radius:8px; background:#fff; color:#102033; box-shadow:0 24px 70px rgba(16,32,51,.28); }
.sc-review-dialog::backdrop { background:rgba(16,32,51,.48); }
.sc-review-dialog__panel { padding:1.2rem 1.25rem 1.25rem; }
.sc-review-dialog__top { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:.8rem; border-bottom:1px solid rgba(52,80,115,.11); }
.sc-review-dialog__top h3 { margin:.15rem 0 0; font-size:1.35rem; line-height:1.15; }
.sc-review-dialog__close { flex:0 0 auto; width:40px; height:40px; display:inline-grid; place-items:center; border:1px solid rgba(52,80,115,.18); border-radius:999px; background:#fff; color:#102033; font:inherit; font-size:1.35rem; cursor:pointer; }
.sc-review-dialog__quote { max-height:46vh; overflow:auto; margin:1rem 0; padding:0 .15rem 0 0; border:0; }
.sc-review-dialog__quote p { margin:0; font-size:.98rem; line-height:1.58; }
.sc-review-dialog__quote p + p { margin-top:.8rem; }
.sc-review-dialog__google { display:inline-flex; min-height:44px; align-items:center; color:var(--sc-blue-link,#003399); font-size:.84rem; font-weight:850; }

@media (max-width:900px) {
  .sc-reviews-v1__heading { align-items:flex-start; flex-direction:column; }
  .sc-reviews-v1__cards { grid-auto-columns:minmax(275px,84vw); }
  .sc-review-v1 { height:286px; }
}

@media (max-width:540px) {
  .sc-reviews-v1__shell { padding:1rem 0 1.15rem; }
  .sc-reviews-v1__heading { margin-bottom:.65rem; }
  .sc-reviews-v1__heading h2 { font-size:clamp(1.7rem,8vw,2.25rem); }
  .sc-reviews-v1__rating { width:100%; justify-content:center; }
  .sc-reviews-v1__cards { grid-auto-columns:minmax(260px,86vw); gap:.75rem; }
  .sc-review-v1 { height:292px; }
  .sc-reviews-v1__controls { justify-content:center; }
  .sc-reviews-v1__source-row { align-items:flex-start; flex-direction:column; }
  .sc-reviews-v1__source-row a { min-height:36px; }
  .sc-reviews-v1__disclosure { font-size:.67rem; text-align:left; }
  .sc-review-dialog { width:calc(100vw - 1rem); }
  .sc-review-dialog__panel { padding:1rem; }
}

@media (prefers-reduced-motion:reduce) {
  .sc-reviews-v1__cards { scroll-behavior:auto; }
  .sc-review-v1__quote::after { transition:none; }
}


/* STRAT C5J3 — REVIEW AGGREGATE PROMINENCE */
.sc-reviews-v1__rating{
  min-width:clamp(220px,19vw,285px);
  padding:1rem 1.1rem;
  border:1px solid rgba(174,132,62,.34);
  border-radius:6px;
  background:
    radial-gradient(240px 95px at 90% 0%,rgba(194,153,80,.14),transparent 72%),
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,243,235,.97));
  box-shadow:0 11px 26px rgba(18,31,46,.07);
  text-decoration:none;
}
.sc-reviews-v1__rating span:not(.sc-reviews-v1__rating-count){
  font-size:clamp(1.2rem,1.8vw,1.46rem);
  font-weight:850;
}
.sc-reviews-v1__rating-count{
  margin-top:.2rem;
  font-size:clamp(1rem,1.3vw,1.12rem);
  line-height:1.25;
  font-weight:850;
  color:#17283d;
}
.sc-reviews-v1__rating:hover{
  border-color:rgba(174,132,62,.50);
  box-shadow:0 13px 30px rgba(18,31,46,.095);
}
@media(max-width:700px){
  .sc-reviews-v1__rating{width:100%;min-width:0;max-width:370px}
}
