/* Explicit customer-approved homepage review redesign; no shared template rules. */
.troy-home-reviews { background:#FAF8F2; color:#203A69; padding:clamp(48px,7vw,88px) 0; border-top:1px solid #D3DDEC; }
.troy-home-reviews .troy-reviews-layout { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.65fr); gap:clamp(32px,6vw,80px); align-items:start; }
.troy-home-reviews .troy-reviews-kicker { margin:0 0 18px; font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#2D4E8C; }
.troy-home-reviews h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(2rem,3.4vw,3rem); line-height:1.12; color:#203A69; margin:0; max-width:330px; }
.troy-home-reviews .troy-reviews-rule { width:52px; height:2px; background:#2D4E8C; margin-top:28px; }
.troy-home-reviews .troy-reviews-feature { min-width:0; background:#2D4E8C; color:#FAF8F2; padding:clamp(26px,4vw,48px); border-radius:2px 28px 2px 2px; }
.troy-home-reviews .troy-reviews-mark { display:block; font-family:Georgia,serif; font-size:5rem; height:55px; line-height:1; color:#D3DDEC; user-select:none; }
.troy-home-reviews .troy-reviews-slides { margin-top:16px; }
.troy-home-reviews .troy-review { margin:0; padding:0; }
.troy-home-reviews .troy-review + .troy-review { margin-top:36px; }
.troy-home-reviews .troy-review blockquote { margin:0; padding:0; border:0; font-family:Georgia,serif; font-size:clamp(1.5rem,2.5vw,2.15rem); font-weight:400; line-height:1.43; text-align:left; color:#FAF8F2; max-width:none; }
.troy-home-reviews .troy-review figcaption { margin-top:28px; font-size:.78rem; font-weight:600; line-height:1.5; letter-spacing:.065em; color:#D3DDEC; }
.troy-home-reviews.is-enhanced .troy-reviews-slides { display:grid; }
.troy-home-reviews.is-enhanced .troy-review { grid-area:1 / 1; margin:0; visibility:hidden; pointer-events:none; }
.troy-home-reviews.is-enhanced .troy-review.is-current { visibility:visible; pointer-events:auto; }
.troy-home-reviews .troy-reviews-controls[hidden] { display:none; }
.troy-home-reviews .troy-reviews-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; border-top:1px solid #7189B1; padding-top:24px; margin-top:32px; }
.troy-home-reviews .troy-reviews-position { font-size:.82rem; letter-spacing:.09em; font-variant-numeric:tabular-nums; margin-right:auto; }
.troy-home-reviews .troy-reviews-control { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid #A7B9D5; border-radius:50%; background:transparent; color:#FAF8F2; font:inherit; font-size:1.2rem; cursor:pointer; }
.troy-home-reviews .troy-reviews-toggle { border-radius:4px; font-size:.85rem; min-width:80px; margin-left:6px; }
.troy-home-reviews .troy-reviews-control:hover:not(:disabled), .troy-home-reviews .troy-reviews-control:active:not(:disabled) { background:#FAF8F2; color:#203A69; border-color:#FAF8F2; }
.troy-home-reviews .troy-reviews-control:focus-visible { outline:3px solid #FAF8F2; outline-offset:4px; }
.troy-home-reviews .troy-reviews-control:disabled { cursor:default; border-style:dashed; }
.troy-home-reviews .troy-reviews-motion-note { font-size:.75rem; color:#D3DDEC; margin:14px 0 0; }
.troy-home-reviews .reviews-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; margin:38px 0 0; padding-top:28px; border-top:1px solid #D3DDEC; text-align:left; }
.troy-home-reviews .reviews-cta p { font-family:Georgia,serif; font-size:1.1rem; font-weight:400; line-height:1.6; color:#203A69; max-width:550px; margin:0; }
.troy-home-reviews .review-actions { display:flex; gap:12px; flex-wrap:wrap; }
.troy-home-reviews .review-actions .btn { min-height:46px; background:#2D4E8C; color:#FAF8F2; border:1px solid #2D4E8C; text-decoration:none; }
.troy-home-reviews .review-actions .btn.line { background:transparent; color:#2D4E8C; }
.troy-home-reviews .review-actions .btn:hover, .troy-home-reviews .review-actions .btn:active { background:#203A69; border-color:#203A69; color:#FAF8F2; }
.troy-home-reviews .review-actions .btn:focus-visible { outline:3px solid #2D4E8C; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
  .troy-home-reviews *, .troy-home-reviews *::before, .troy-home-reviews *::after { animation:none !important; transition:none !important; }
}
@media(max-width:767px) {
  .troy-home-reviews .troy-reviews-layout, .troy-home-reviews .reviews-cta { grid-template-columns:minmax(0,1fr); gap:28px; }
  .troy-home-reviews h2 { max-width:460px; }
  .troy-home-reviews .troy-reviews-rule { margin-top:20px; }
  .troy-home-reviews .reviews-cta { margin-top:28px; }
  .troy-home-reviews .review-actions { flex-direction:column; align-items:stretch; }
  .troy-home-reviews .review-actions .btn { text-align:center; justify-content:center; }
}
