
/* Review refinement: scoped replacement geometry and desktop dragging. */
.reviews-inner{grid-template-columns:.65fr 1.35fr;gap:clamp(24px,5vw,72px)}
.review-stack{grid-auto-columns:88%;gap:20px;padding:8px 0 14px;scrollbar-width:none;cursor:grab}
.review-stack::-webkit-scrollbar{display:none}
.review-stack:after{content:"";width:1px}
.review-stack.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.review-sheet{min-height:310px;padding:28px;box-shadow:0 14px 30px rgb(0 18 27/.16),inset 0 1px 0 #fff}
.review-sheet blockquote{font-size:clamp(22px,2vw,28px);line-height:1.43;margin-bottom:28px}
.reviews.is-enhanced .review-sheet:not(.is-current){opacity:.48;transform:scale(.95)}
.review-controls{margin-top:12px}.review-progress{height:3px}.review-progress>span{background:linear-gradient(90deg,#9bbfc2,#f1ffff)}
.review-filters:before{transition:transform .5s cubic-bezier(.22,1,.36,1)}
@media(max-width:850px){.reviews-inner{grid-template-columns:1fr}.reviews-heading h2{font-size:56px}.reviews{padding-block:48px}.review-stack{grid-auto-columns:91%;gap:14px}.review-sheet{padding:24px;min-height:320px}.review-sheet blockquote{font-size:23px}}
@media(prefers-reduced-motion:reduce){.review-sheet,.review-filters:before,.review-progress>span{transition:none!important}.review-stack{scroll-behavior:auto}}

.review-stack{padding-right:12%;scroll-behavior:auto}
.review-stack:after{display:none}
.review-stack.is-gliding{scroll-snap-type:none}
.review-auto{border:1px solid #bdd8da80;border-radius:999px;padding:10px 16px;min-height:44px;background:#dff5f50d;color:#eefbfa;font:inherit;font-size:12px;cursor:pointer;margin-top:16px;transition:background .2s}
.review-auto:hover{background:#dff5f52b}.review-auto:focus-visible{outline:3px solid #ff8f9e;outline-offset:4px}
.outlook-media{position:relative;isolation:isolate;aspect-ratio:1.6;overflow:hidden;border-radius:24px}
.outlook-media:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,rgba(3,29,36,.92),rgba(3,29,36,.12) 80%);pointer-events:none}
.outlook-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.journal-card a:hover .outlook-media img{transform:scale(1.035)}
.outlook-overlay{position:absolute;z-index:1;left:7%;right:7%;bottom:10%;color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.outlook-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase;border:1px solid #e5ffff66;background:#0d35444d;backdrop-filter:blur(12px);border-radius:99px;padding:8px 12px}
.outlook-title{font-size:clamp(26px,5vw,43px);font-weight:550;line-height:1.03;letter-spacing:-.04em;max-width:85%}
.outlook-title span{color:#bcdfe0;font-weight:400}
.outlook-caption{font-size:12px;letter-spacing:.03em;border-left:3px solid #ed1435;padding-left:10px}
.outlook-media .journal-arrow{z-index:2}
@media(max-width:850px){.review-stack{padding-right:9%}.review-controls{flex-wrap:wrap}.outlook-title{font-size:30px}}
@media(prefers-reduced-motion:reduce){.outlook-media img{transition:none}}

/* 13 October 2026: continuous reviews, scoped to the enhanced component.
   The native scroll rail and radio filters remain the no-JavaScript fallback. */
#kind-words.has-review-flow .review-stack {
  display:block; overflow:hidden; padding:10px 0 22px;
  scroll-snap-type:none; scroll-behavior:auto; overscroll-behavior-x:auto;
  touch-action:pan-y pinch-zoom; cursor:grab;
  -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 12px),transparent);
  mask-image:linear-gradient(to right,#000 calc(100% - 12px),transparent);
}
#kind-words.has-review-flow .review-stack.is-dragging {cursor:grabbing;user-select:none}
#kind-words.has-review-flow .review-flow-track {
  display:flex; align-items:stretch; touch-action:pan-y pinch-zoom;
  will-change:transform;
}
#kind-words.has-review-flow .review-sheet {
  flex:0 0 86%; min-width:0; margin:0 22px 0 0;
  min-height:350px; padding:30px; border-radius:25px;
  opacity:1; transform:none; transition:none; scroll-snap-align:none;
  backdrop-filter:none; -webkit-backdrop-filter:none;
  background:linear-gradient(145deg,#e4f0ed,#cadfe0);
  box-shadow:0 12px 22px rgb(0 18 27 / .12),inset 0 1px 0 #fff;
}
#kind-words.has-review-flow .review-sheet[hidden] {display:none!important}
#kind-words.has-review-flow .review-sheet blockquote {
  font-size:clamp(23px,1.8vw,28px); line-height:1.46; letter-spacing:-.025em;
}
#kind-words.has-review-flow .review-sheet-top {margin-bottom:24px}
#kind-words.has-review-flow .review-controls {
  display:flex; flex-wrap:nowrap; gap:12px; margin-top:18px;
}
#kind-words.has-review-flow .review-auto {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  margin:0; min-height:46px; padding:10px 15px; flex-shrink:0;
  font-size:12px; white-space:nowrap;
}
#kind-words.has-review-flow .review-auto .icon {width:15px;height:15px}
#kind-words.has-review-flow #reviewCount {
  font-size:11px; letter-spacing:.08em; color:#e4f0f2; white-space:nowrap;
  min-width:52px; font-variant-numeric:tabular-nums;
}
#kind-words.has-review-flow .review-progress {min-width:16px; margin:0 4px; height:2px}
#kind-words.has-review-flow .review-controls .icon-button {
  flex:0 0 46px; width:46px; height:46px; min-width:46px;
}
#kind-words.has-review-flow .review-swipe-hint {margin-top:2px}
@media (max-width:600px) {
  #kind-words.has-review-flow .review-sheet {
    flex-basis:91%; margin-right:16px; min-height:350px;
    padding:25px 23px; border-radius:23px;
  }
  #kind-words.has-review-flow .review-sheet blockquote {font-size:22px;line-height:1.44}
  #kind-words.has-review-flow .review-controls {gap:9px}
  #kind-words.has-review-flow .review-auto {padding:10px 12px}
  #kind-words.has-review-flow .review-progress {margin:0;min-width:8px}
  #kind-words.has-review-flow .review-controls .icon-button {flex-basis:44px;width:44px;min-width:44px;height:44px}
}
@media (max-width:360px) {
  #kind-words.has-review-flow .review-controls {gap:7px}
  #kind-words.has-review-flow .review-progress {display:none}
  #kind-words.has-review-flow .review-auto {margin-right:auto}
}
@media (prefers-reduced-motion:reduce) {
  #kind-words.has-review-flow .review-flow-track {will-change:auto}
}
@media print {
  #kind-words.has-review-flow .review-stack {overflow:visible;mask-image:none;-webkit-mask-image:none}
  #kind-words.has-review-flow .review-flow-track {display:block;transform:none!important}
  #kind-words.has-review-flow .review-sheet {transform:none!important;min-height:0;margin:16px 0;break-inside:avoid}
  #kind-words.has-review-flow .review-controls,#kind-words.has-review-flow .review-swipe-hint {display:none!important}
}

/* Results: one stable stage with a short overlapping fade. */
#results.has-results-flow #resultStage {display:grid;align-items:start;margin-bottom:20px;isolation:isolate}
#results.has-results-flow .result-panel {grid-area:1 / 1;margin:0;align-self:start}
#results.has-results-flow #resultAuto {border-radius:999px;transition:background .15s,border-color .15s}
#results.has-results-flow #resultAuto:hover {background:#e4eded;border-color:#71898d}
#results.has-results-flow #resultAuto:active {background:#d5e3e3}

/* Tommie's Desk: Market, Selling, Buyers, Albany. Native radio fallback and
   the moving highlight follow the same order on desktop and the phone grid. */
#journalLibrary .topic-tabs:has(#topic-market:checked) {--tab-x:0%;--tab-y:0%}
#journalLibrary .topic-tabs:has(#topic-selling:checked) {--tab-x:100%;--tab-y:0%}
#journalLibrary .topic-tabs:has(#topic-buying:checked) {--tab-x:200%;--tab-y:0%}
#journalLibrary .topic-tabs:has(#topic-local:checked) {--tab-x:300%;--tab-y:0%}
@media (max-width:600px) {
  #journalLibrary .topic-tabs:has(#topic-buying:checked) {--tab-x:0%;--tab-y:100%}
  #journalLibrary .topic-tabs:has(#topic-local:checked) {--tab-x:100%;--tab-y:100%}
}
@media print {
  #results.has-results-flow #resultStage {display:block!important;min-height:0!important}
  #results.has-results-flow .result-panel {display:grid!important;margin-bottom:20px}
}
