/* The shared review wall keeps its ink surface across page-specific section styles. */
:is(.home-page,.chapter-page,.about-page,.blog-page,.blog-article-page,.story-index-page) main>.home-reviews {
  padding-block:64px;
  background:#05080c url('/assets/img/figma/spotlight-backdrop.png') center/cover;
  color:white;
  border-top:14px solid transparent;
  border-bottom:0;
  border-image:var(--surface-paper-image) 20 round;
  overflow:clip;
}
.review-heading { max-width:1040px; margin:0 auto 38px; text-align:center; }
.review-heading h2 { margin:0 0 17px; color:white; font-size:clamp(32px,3.4vw,48px); line-height:1.3; }
.review-heading>p { margin:0; color:#d7e1ea; font:clamp(23px,2.4vw,32px)/1.4 var(--display); text-transform:uppercase; }
.review-mobile-tools { display:none; }
.review-wall { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; padding:8px 5px 12px; }
.review-column { display:flex; flex-direction:column; gap:18px; min-width:0; }
.review-column:nth-child(1),.review-column:nth-child(5) { padding-top:44px; }
.review-column:nth-child(3) { padding-top:24px; }
.review-card { --review-angle:-.7deg; min-width:0; padding:21px 18px; color:white; background:#080c10f5; border:1px solid #596c7a; border-radius:7px; box-shadow:4px 6px 0 #020405; transform:rotate(var(--review-angle)); transition:translate 260ms ease,border-color 260ms ease,box-shadow 260ms ease; }
.review-column:nth-child(even) .review-card { --review-angle:.7deg; }
.review-column .review-card:nth-child(even) { --review-angle:.4deg; }
.review-card:hover { translate:0 -5px; border-color:#b3cfeb; box-shadow:5px 10px 0 #020405; }
.review-card-top { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.review-stars { display:inline-flex; gap:3px; color:#ef6d58; }
.review-stars svg { display:block; width:18px; height:18px; }
/* Compact social attribution shares the existing blue/coral ink palette. */
.review-platform { display:inline-flex; align-items:center; gap:7px; min-width:0; color:#b6cee9; font:600 12px/1.35 var(--body); }
.review-platform svg { display:block; flex:0 0 21px; width:21px; height:21px; }
.review-platform>span { min-width:0; }
.review-platform--instagram { color:#ed8a7b; }
.review-quote-mark { flex-shrink:0; margin-left:auto; height:27px; color:#8faed4; font:64px/.85 var(--display); }
.review-card blockquote { margin:17px 0 21px; }
.review-card blockquote p { margin:0; color:white; font:clamp(20px,1.65vw,25px)/1.4 var(--display); text-transform:uppercase; }
.review-card--short blockquote p { font-size:clamp(32px,3vw,42px); line-height:1.2; color:#a8c7ed; }
.review-credit { padding-top:15px; border-top:1px solid #455867; }
.review-credit h3 { margin:0 0 5px; color:#e3eaf0; font:700 13px/1.45 var(--body); text-transform:none; }
.review-credit p { margin:0; color:#bfcdd7; font-size:11px; line-height:1.5; }
.review-footer { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:30px; padding:22px 26px; background:var(--surface-navy); border:1px solid #687985; }
.review-footer>p { max-width:58ch; margin:0; color:var(--surface-copy); font-size:13px; line-height:1.7; }
.review-footer .text-link { flex-shrink:0; font-size:20px; color:white; max-width:100%; }
.review-footer .arrow { width:32px; height:25px; }
.home-reviews a:focus-visible { outline:3px solid #e15a47; outline-offset:5px; }
.review-card[data-art-state="playing"] { animation:review-card-land 700ms cubic-bezier(.22,.72,.24,1) both; }
@keyframes review-card-land {
 from { opacity:.35; translate:0 24px; rotate:-1.5deg; }
 75% { opacity:1; translate:0 -2px; rotate:.3deg; }
 to { opacity:1; translate:0 0; rotate:0deg; }
}
@media(max-width:1150px) {
 .review-wall { display:block; column-count:3; column-gap:20px; }
 .review-column { display:contents; }
 .review-card { break-inside:avoid; margin-bottom:20px; }
 .review-card blockquote p { font-size:23px; }
 .review-card--short blockquote p { font-size:34px; }
 .review-footer { display:block; }
 .review-footer .text-link { display:inline-flex; margin-top:16px; }
}
@media(max-width:700px) {
 :is(.home-page,.chapter-page,.about-page,.blog-page,.blog-article-page,.story-index-page) main>.home-reviews { padding-block:40px; }
 .review-heading { margin-bottom:20px; }
 .review-heading h2 { font-size:30px; margin-bottom:14px; }
 .review-heading>p { font-size:21px; }
 .review-mobile-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:4px; padding-inline:6px; }
 .review-mobile-tools>p { display:flex; align-items:center; gap:9px; margin:0; color:var(--surface-copy); font-size:13px; }
 .review-mobile-tools>p .arrow { width:22px; height:18px; }
 .review-controls { display:flex; align-items:center; gap:12px; }
 .review-controls button { display:grid; place-items:center; width:44px; height:44px; padding:10px; color:white; background:var(--blue); border:1px solid #b0c7df; border-radius:50%; cursor:pointer; }
 .review-controls button:disabled { opacity:.35; cursor:default; }
 .review-controls button:not(:disabled):hover { background:#4e75a6; }
 .review-controls button:first-child .arrow { rotate:180deg; }
 .review-controls .arrow { display:block; width:23px; height:20px; }
 .review-controls .arrow svg { display:block; width:100%; height:100%; }
 [data-review-position] { min-width:48px; color:white; text-align:center; font:18px/1 var(--display); }
 .review-wall { display:flex; align-items:flex-start; gap:14px; column-count:auto; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:12px; padding:26px 12px 22px; scrollbar-color:#b9cce0 #162a39; scrollbar-width:thin; }
 .reviews-enhanced .review-wall { height:var(--review-track-height,auto); transition:height 220ms ease; }
 .review-wall::after { content:''; order:999; flex:0 0 14px; }
 .review-column { display:contents; }
 .review-card { order:var(--review-order); flex:0 0 calc(100% - 28px); margin:0; padding:24px; scroll-snap-align:start; }
 .review-card:nth-of-type(even) { --review-angle:.6deg; }
 .review-card blockquote p { font-size:24px; line-height:1.35; }
 .review-card--short blockquote p { font-size:40px; }
 .review-stars { gap:4px; }
 .review-stars svg { width:21px; height:21px; }
 .review-credit h3 { font-size:14px; }
 .review-credit p { font-size:12px; }
 .review-footer { padding:20px; margin-top:16px; }
 .review-footer .text-link { margin-top:12px; font-size:19px; }
 .home-reviews :is(button,.review-wall):focus-visible { outline:3px solid #e15a47; outline-offset:3px; }
}
@media(max-width:500px) {
 :is(.home-page,.chapter-page,.about-page,.blog-page,.blog-article-page,.story-index-page) main>.home-reviews { background-image:linear-gradient(#05080c80,#05080c80),url('/assets/img/figma/spotlight-backdrop.png'); }
 .review-mobile-tools { gap:10px; }
 .review-controls { gap:8px; }
 .review-controls button { width:44px; height:44px; }
 .review-mobile-tools>p { font-size:12px; gap:6px; }
 .review-mobile-tools>p .arrow { width:18px; }
 .review-card { padding:23px 21px; }
 .review-card--short blockquote p { font-size:38px; }
}
@media(prefers-reduced-motion:reduce) {
 .review-card,.reviews-enhanced .review-wall { transition:none; }
 .review-card[data-art-state] { animation:none; }
 .review-card:hover { translate:none; }
}
