/* Magazine review spread: richer ink, warm paper, clear controls and a small Rockz corner illustration. */
.review-feature-spread .five-star-story{position:relative;isolation:isolate;background:radial-gradient(ellipse at 2% 96%,rgba(197,216,205,.43),transparent 34%),radial-gradient(ellipse at 100% 0%,rgba(237,220,183,.36),transparent 32%),linear-gradient(145deg,#faf8f0 0%,#f1ede2 100%)}
.review-proof{margin:0 0 2cqw}
.review-proof-stars{display:block;color:#b28a45;font:700 4cqw/1 Georgia,serif;letter-spacing:.16em;margin:0 0 1.5cqw}
.paper .review-proof h2{font:400 7.2cqw/1.08 Georgia,serif;color:#12334e;margin:0 0 1cqw;letter-spacing:-.035em}
.review-proof h2 strong{font-weight:600;color:#927039}
.review-proof p{margin:0!important;color:#56616b;font:2.65cqw/1.35 'DM Sans',Arial,sans-serif;letter-spacing:.025em}
.review-carousel{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;justify-content:center;position:relative;z-index:1}
.review-quote-card{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;flex:0 0 84cqw;height:84cqw;min-height:84cqw;max-height:84cqw;margin:0;padding:3cqw 3.6cqw 2.8cqw;border:1px solid rgba(194,161,95,.42);border-left:4px solid #c2a15f;border-radius:12px 18px 18px 12px;background:linear-gradient(135deg,rgba(255,254,250,.97),rgba(240,246,241,.93));box-shadow:0 10px 24px rgba(16,45,72,.1),inset 0 1px rgba(255,255,255,.9);transition:opacity .2s ease}
.review-quote-card:before{content:'“';position:absolute;right:3.4cqw;top:.5cqw;color:rgba(176,139,70,.18);font:18cqw/.8 Georgia,serif;pointer-events:none}
.review-quote-card.is-changing{opacity:.25}
.review-focus{align-self:flex-start;margin:0 0 1.8cqw;padding:.8cqw 1.8cqw;border-radius:999px;background:#e4eee7;color:#285449;font:700 2cqw/1.2 'DM Sans',Arial,sans-serif;letter-spacing:.075em;text-transform:uppercase}
.review-quote-card blockquote{position:relative;z-index:1;align-self:center;margin:0;color:#183850;font:italic 4.2cqw/1.4 Georgia,serif;letter-spacing:-.012em}
.review-quote-card figcaption{display:flex;flex-wrap:wrap;align-items:baseline;align-self:end;gap:.7cqw 2cqw;margin:0;color:#203c50;font:2.45cqw/1.4 'DM Sans',Arial,sans-serif}
.review-quote-card figcaption strong{font-weight:700}
.review-quote-card figcaption span{color:#6b706f;font-size:2.05cqw;letter-spacing:.06em;text-transform:uppercase}
.review-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;width:72%;margin:1.6cqw 0 0}
.review-control{min-width:44px;min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:7px 4px;border:0;border-radius:6px;background:rgba(255,255,255,.56);color:#183850;font:600 2.35cqw/1.2 'DM Sans',Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(16,45,72,.06)}
.review-control span[aria-hidden]{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(18,51,78,.32);border-radius:50%;color:#927039;font-size:17px;transition:background .18s ease,color .18s ease,transform .18s ease}
.review-control:hover span[aria-hidden]{background:#12334e;color:#fff;transform:translateX(2px)}
.review-prev:hover span[aria-hidden]{transform:translateX(-2px)}
.review-control:focus-visible{outline:3px solid #b28a45;outline-offset:3px}
.paper .five-star-story .review-more{position:relative;z-index:2;width:72%;margin-top:1.2cqw;padding-top:1.4cqw;border-top:1px solid rgba(146,105,22,.2);font-weight:700}
.review-mascot{position:absolute;z-index:3;right:3.5cqw;bottom:3.3cqw;width:22cqw;aspect-ratio:1145/1374;max-height:34cqw;filter:drop-shadow(0 5px 7px rgba(32,40,37,.13));pointer-events:none;user-select:none}
.review-mascot-body,.review-mascot-tail{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom}
.review-mascot-tail{transform-origin:72.8% 81.1%}
.review-mascot.is-wagging .review-mascot-tail{animation:rockz-tail-wag .72s ease-in-out 3}
@keyframes rockz-tail-wag{0%,100%{transform:rotate(0)}25%{transform:rotate(-24deg)}50%{transform:rotate(20deg)}75%{transform:rotate(-10deg)}}
.review-feature-spread .personal-service .photo-caption{max-width:92%}
.review-feature-spread .personal-service .photo-caption strong{font-size:6.5cqw}
.review-feature-spread .personal-service .photo-caption a{display:inline-flex;margin-top:1.4cqw}

/* Scrolling view keeps the full quote readable and puts Rockz below the controls. */
.scroll-mode .review-feature-spread .five-star-story{gap:0;min-height:0}
.scroll-mode .review-proof{margin:0 0 18px}
.scroll-mode .review-proof-stars{font-size:24px;margin-bottom:8px}
.scroll-mode .review-proof h2{font-size:clamp(30px,5vw,44px);line-height:1.08;margin:0 0 8px}
.scroll-mode .review-proof p{font-size:14px;line-height:1.45}
.scroll-mode .review-carousel{flex:none}
.scroll-mode .review-quote-card{flex:0 0 clamp(390px,42vw,500px);height:clamp(390px,42vw,500px);min-height:clamp(390px,42vw,500px);max-height:clamp(390px,42vw,500px);padding:24px 24px 22px;border-radius:10px 16px 16px 10px}
.scroll-mode .review-quote-card:before{font-size:100px;right:18px;top:8px}
.scroll-mode .review-focus{font-size:10px;padding:4px 9px;margin-bottom:12px}
.scroll-mode .review-quote-card blockquote{align-self:center;font-size:clamp(21px,3.2vw,28px);line-height:1.45;margin:0}
.scroll-mode .review-quote-card figcaption{align-self:end;gap:6px 14px;font-size:14px}
.scroll-mode .review-quote-card figcaption span{font-size:10px}
.scroll-mode .review-controls{width:100%;margin:12px 0 0}
.scroll-mode .review-control{font-size:13px;padding:8px 10px}
.scroll-mode .review-more{width:100%;margin-top:18px;padding-top:0;border:0}
.scroll-mode .review-mascot{position:relative;display:block;width:min(180px,38vw);max-height:none;right:auto;bottom:auto;margin:-10px 0 0 auto}
@media(max-width:760px){.scroll-mode .review-feature-spread .personal-service{min-height:420px}}
@media(prefers-reduced-motion:reduce){.review-quote-card,.review-control span[aria-hidden]{transition:none}.review-mascot.is-wagging .review-mascot-tail{animation:rockz-tail-wag .42s ease-in-out 3}}
