/* Local evidence cache. No external widget or auto-rotating reviews. */
.reviews-more{margin-top:22px;border-block:1px solid var(--line);padding-block:4px}.reviews-more>summary,.review-full>summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;color:var(--blue-dark);font-weight:650;padding:10px 4px}.reviews-more>summary:focus-visible,.review-full>summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.reviews-more>summary>span{color:var(--muted);font-weight:450}.reviews-more[open]>.reviews-quotes{padding-block:18px}.review-full{margin-top:8px;overflow-anchor:none}.review-full>summary{font:650 16px/1.5 var(--body);letter-spacing:0}.review-full p{white-space:pre-line;overflow-wrap:anywhere}.review-quote blockquote p{overflow-wrap:anywhere}.review-quote figcaption strong{overflow-wrap:anywhere}
/* The full quote replaces its preview in place, including without JavaScript. */
.review-quote blockquote:has(>.review-full[open])>.review-excerpt{display:none}
.review-full[open]{position:relative;margin-top:0;padding-bottom:54px}
.review-full[open]>summary{position:absolute;bottom:0;left:0}
.review-collapse-label,.review-full[open] .review-expand-label{display:none}
.review-full[open] .review-collapse-label{display:inline}
.reviews-section{margin-block:0 72px}.reviews-panel{border-top:1px solid var(--line);padding-top:52px}.reviews-heading{margin-bottom:36px}.reviews-heading .kicker{margin-bottom:12px}.reviews-heading h2{font-size:clamp(30px,3.3vw,44px);line-height:1.12;margin:0;text-wrap:balance}
.reviews-grid{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,2.28fr);gap:40px;align-items:center}.review-rating{min-width:0;padding-block:12px}.review-rating-label{color:var(--muted);font-size:13px;margin:0 0 10px}.review-rating-value{display:flex;align-items:baseline;gap:6px;margin:0 0 10px;line-height:1}.review-rating-value strong{font:600 clamp(72px,7.5vw,100px)/.98 var(--display);letter-spacing:-.065em}.review-rating-value>span{color:var(--muted);font-size:21px}
.review-stars{display:inline-flex;gap:3px;align-items:center;line-height:1;flex-shrink:0}.review-stars svg{display:block;width:22px;height:22px}.review-star-empty{fill:#dce3ec}.review-star-fill{fill:#fbbc04}.review-rating>.review-stars{margin-block:0 12px}.review-rating>.review-stars svg{width:28px;height:28px}.review-rating-count{font-size:16px;margin:0 0 5px}.review-rating-count strong{font-weight:800}.review-rating-caption{color:var(--muted);font-size:12px;margin:0}
.reviews-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}.review-quote{display:flex;flex-direction:column;min-width:0;margin:0;padding:28px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 26px rgb(17 35 57 / 4%)}.review-quote-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.review-source{color:var(--muted);font-size:13px;font-weight:650}.review-quote blockquote{margin:0 0 28px;font:500 clamp(19px,1.8vw,23px)/1.5 var(--display);letter-spacing:-.018em}.review-quote blockquote p{margin:0}.review-quote figcaption{display:flex;align-items:center;gap:12px;margin-top:auto}.review-initial{display:grid;place-items:center;flex:0 0 40px;height:40px;background:var(--blue-soft);border-radius:50%;color:var(--blue-dark);font-size:17px;font-weight:750}.review-quote figcaption>span:last-child{display:grid;gap:3px}.review-quote figcaption strong{font-size:14px;font-weight:750}.review-quote-subject{color:var(--muted);font-size:12px;line-height:1.5}
.reviews-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;margin-top:26px}.reviews-footer p{margin:0;color:var(--muted);font-size:12px}.reviews-footer .text-link{font-size:14px;color:var(--blue-dark)}
/* Same workshop's rating attached to its real photo, never a fictitious branch. */
.city-route>figure:has(.location-review)>figcaption{position:static;color:var(--muted);background:var(--mist);padding:14px 18px;font-size:12px}
.location-review{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none}.location-review:hover{background:#f7f9fc}.location-review:focus-visible{outline-offset:-5px}.location-review-score{font:600 42px/1 var(--display);letter-spacing:-.045em;white-space:nowrap}.location-review-score small{margin-left:3px;color:var(--muted);font:500 13px/1 var(--body);letter-spacing:0}.location-review-detail{display:grid;gap:4px;font-size:12px;line-height:1.5}.location-review-detail>small{color:var(--muted);font-size:11px}.location-review .review-stars svg{width:18px;height:18px}.location-review-arrow{margin-left:auto;font-size:23px;color:var(--blue)}.city-route>figure .location-review{border-inline:1px solid var(--line)}
@media(max-width:1023px){.reviews-grid{grid-template-columns:minmax(0,1fr);gap:24px}.review-rating{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:center;padding:0 0 26px;border-bottom:1px solid var(--line)}.review-rating-value{grid-column:1;grid-row:1/5;margin:0}.review-rating-label,.review-rating>.review-stars,.review-rating-count,.review-rating-caption{grid-column:2;margin-block:0}.review-rating-label{margin-bottom:4px}.review-rating-count{margin-block:6px 2px}}
@media(max-width:639px){.reviews-section{margin-bottom:44px}.reviews-panel{padding-top:32px}.reviews-heading{margin-bottom:28px}.reviews-heading h2{font-size:clamp(30px,7.8vw,35px);text-wrap:initial}.reviews-quotes{grid-template-columns:minmax(0,1fr);gap:14px}.review-quote{padding:22px}.review-quote-top{margin-bottom:16px}.review-quote blockquote{font-size:22px;margin-bottom:22px;line-height:1.45}.review-rating{column-gap:18px}.review-rating-value strong{font-size:74px}.review-rating-value>span{font-size:15px}.review-rating>.review-stars svg{width:22px;height:22px}.review-rating-count{font-size:14px}.review-rating-label,.review-rating-caption{font-size:11px}.reviews-footer{gap:8px;margin-top:18px}.reviews-footer .text-link{width:100%;justify-content:space-between}.location-review{gap:12px;padding:16px}.location-review-score{font-size:38px}.location-review .review-stars svg{width:17px;height:17px}}
@media(max-width:359px){.review-rating{column-gap:13px}.review-rating-value strong{font-size:65px}.review-rating-value>span{font-size:13px}.review-quote{padding:19px}.review-quote blockquote{font-size:21px}.location-review-arrow{display:none}}
