.reviews-page { position: relative; isolation: isolate; }
.reviews-page::before { position: absolute; z-index: -1; inset: 0; opacity: .28; background-image: radial-gradient(circle at 82% 8%, rgb(158 161 156 / .06), transparent 20rem), linear-gradient(135deg, transparent 0 48%, rgb(255 255 255 / .018) 48% 49%, transparent 49%); content: ""; pointer-events: none; }
.reviews-page .section { position: relative; }
.reviews-masthead__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch; }
.reviews-masthead__copy { width: min(100%, 45rem); min-width: 0; }
.reviews-masthead__copy h1 { max-width: 24ch; font-size: clamp(3.5rem, 5.2vw, 4rem); }
.reviews-masthead__intro { max-width: 58ch; color: var(--color-ash-primary); font-size: var(--text-lg); line-height: var(--leading-lg); }
.reviews-masthead__scope { gap: var(--space-3); }
.reviews-masthead__scope span { display: inline-flex; align-items: center; gap: var(--space-3); }
.reviews-masthead__scope span:not(:last-child)::after { width: 1px; height: 1rem; background: var(--color-stone-line); content: ""; }
.reviews-masthead__field { min-width: 0; background: radial-gradient(circle at 65% 65%, rgb(217 101 43 / .08), transparent 10rem); }
.reviews-lead__wall { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18.75rem, 1fr); border: var(--border-default); background: var(--color-stone-line); gap: 1px; }
.reviews-lead__feature { position: relative; display: block; min-width: 0; min-height: 34rem; overflow: hidden; color: var(--color-ash-primary); text-decoration: none; }
.reviews-lead__feature > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 65% 50%; filter: saturate(.78) brightness(.7); transition: filter var(--transition-standard); }
.reviews-lead__veil { position: absolute; inset: 0; background: linear-gradient(0deg, rgb(17 18 20 / .96) 2%, rgb(17 18 20 / .72) 41%, rgb(17 18 20 / .08) 78%); }
.reviews-lead__content { position: relative; z-index: 1; display: flex; width: min(100%, 43rem); min-width: 0; height: 100%; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: var(--space-3); padding: var(--space-8); }
.reviews-lead__content .eyebrow { margin: 0; }
.reviews-lead__title { max-width: 23ch; color: var(--color-ash-primary); font-family: var(--font-heading); font-size: clamp(2.75rem, 4vw, 4rem); font-weight: 700; letter-spacing: -.02em; line-height: 1; overflow-wrap: anywhere; text-wrap: balance; }
.reviews-lead__deck { max-width: 56ch; color: var(--color-ash-primary); font-size: var(--text-lg); line-height: var(--leading-lg); }
.reviews-lead__facts { color: var(--color-ash-secondary); }
.reviews-lead__feature:hover > img { filter: saturate(.9) brightness(.82); }
.reviews-lead__feature:hover { box-shadow: inset 2px 0 var(--color-ember); }
.reviews-lead__verdict { display: flex; min-width: 0; flex-direction: column; justify-content: flex-end; gap: var(--space-4); border-radius: 0; padding: var(--space-6); }
.reviews-lead__verdict > * { margin: 0; }
.reviews-lead__verdict h2 { font-size: clamp(2rem, 3vw, 2.75rem); }
.reviews-lead__verdict p:not(.eyebrow) { max-width: 32ch; }
.reviews-lead__verdict-meta { margin-top: auto; }
.reviews-section-head { width: min(100%, 42.5rem); min-width: 0; }
.reviews-section-head p:not(.eyebrow) { max-width: 60ch; }
.reviews-recent__wall { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); border: var(--border-default); background: var(--color-stone-line); gap: 1px; }
.reviews-recent__card { display: flex; min-width: 0; flex-direction: column; background: var(--color-basalt); }
.reviews-recent__card--wide { grid-column: span 5; }
.reviews-recent__card--text { grid-column: span 3; }
.reviews-recent__card--stacked, .reviews-recent__card--compact { grid-column: span 4; }
.reviews-card__media { width: 100%; min-width: 0; height: 14rem; margin: 0; border-radius: 0; border: 0; }
.reviews-recent__card--wide .reviews-card__media { height: 17rem; }
.reviews-card__body { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.reviews-card__body > * { margin: 0; }
.reviews-card__body h3 { font-size: clamp(1.65rem, 2.4vw, 2rem); }
.reviews-card__body p:not(.eyebrow):not(.meta):not(.reviews-card__verdict) { max-width: 42ch; }
.reviews-card__verdict { color: var(--color-ash-primary); font-weight: 700; }
.reviews-inline-link { margin-top: auto; font-weight: 700; }
.reviews-archive-link { display: inline-block; margin-top: var(--space-6); font-weight: 700; }
.reviews-archive-link::before { display: block; width: 2.5rem; height: 2px; margin-bottom: var(--space-3); background: var(--color-ember); content: ""; }
.reviews-method__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); border: var(--border-default); background: var(--color-stone-line); gap: 1px; }
.reviews-method__intro { min-width: 0; border: 0; border-left: 2px solid var(--color-ember); border-radius: 0; padding: var(--space-6); }
.reviews-method__intro p:not(.eyebrow) { max-width: 64ch; }
.reviews-method__criteria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; background: var(--color-stone-line); gap: 1px; }
.reviews-method__criterion { position: relative; min-width: 0; background: var(--color-basalt); padding: var(--space-6); }
.reviews-method__criterion h3 { margin-top: var(--space-4); font-size: var(--text-xl); }
.reviews-method__criterion p { max-width: 42ch; margin-bottom: 0; }
.reviews-method__number { color: var(--color-ash-muted); font-size: var(--text-xs); font-weight: 700; letter-spacing: .1em; }
.reviews-pathways__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: var(--border-default); background: var(--color-stone-line); gap: 1px; }
.reviews-pathway { display: flex; min-width: 0; flex-direction: column; border: 0; border-radius: 0; padding: var(--space-5); }
.reviews-pathway__copy { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.reviews-pathway__copy > * { margin: 0; }
.reviews-pathway__copy > p:not(.eyebrow) { max-width: 38ch; }
.reviews-pathway__image { width: calc(100% + var(--space-5) + var(--space-5)); height: 12rem; margin: calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-5); overflow: hidden; }
.reviews-pathway__image img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.66) saturate(.75); }
.reviews-pathway__rows { display: grid; width: 100%; min-width: 0; margin-top: var(--space-2); border-top: 1px solid var(--color-stone-line); }
.reviews-pathway__rows a { display: grid; min-width: 0; gap: var(--space-1); border-bottom: 1px solid var(--color-stone-line); padding-block: var(--space-3); color: var(--color-ash-primary); font-weight: 700; }
.reviews-pathway__rows span { color: var(--color-ash-secondary); font-size: var(--text-sm); font-weight: 400; }
.reviews-pathway .button { width: 100%; margin-top: var(--space-5); }
.reviews-pathway:hover { box-shadow: inset 2px 0 var(--color-ember); }
.reviews-archive__controls { display: grid; grid-template-columns: minmax(17.5rem, 4fr) minmax(0, 7fr) auto; align-items: end; gap: var(--space-4); padding: var(--space-5); }
.reviews-search-field, .reviews-filter-fields, .reviews-filter-fields > div { min-width: 0; }
.reviews-search-field label, .reviews-filter-fields label { margin-bottom: var(--space-2); }
.reviews-search-field__input { position: relative; min-width: 0; }
.reviews-search-field input { padding-right: 4.5rem; }
.reviews-clear-search { position: absolute; top: 0; right: 0; min-width: 44px; min-height: 44px; background: transparent; color: var(--color-ember-bright); font-size: var(--text-sm); font-weight: 700; }
.reviews-filter-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.reviews-reset { min-width: 8rem; }
.reviews-archive__status { margin-top: var(--space-4); font-size: var(--text-sm); }
.reviews-archive__results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.reviews-result { display: flex; min-width: 0; flex-direction: column; border: var(--border-default); background: var(--color-basalt); box-shadow: var(--shadow-inset); }
.reviews-result__media { width: 100%; height: 13rem; margin: 0; border-radius: 0; border: 0; }
.reviews-result__body { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.reviews-result__body > * { margin: 0; }
.reviews-result__body h3 { font-size: clamp(1.65rem, 2.2vw, 2rem); }
.reviews-result__body p:not(.eyebrow):not(.meta):not(.reviews-card__verdict) { max-width: 40ch; }
.reviews-result:hover { box-shadow: inset 0 2px var(--color-ember), var(--shadow-inset); }
.reviews-archive__empty { border: var(--border-default); background: var(--color-basalt); padding: var(--space-6); }
.reviews-archive__empty h3 { font-size: var(--text-2xl); }
.reviews-archive__more { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-6); }
.reviews-archive__more p { margin: 0; }
.reviews-enduring__rows { display: grid; min-width: 0; border: var(--border-default); background: var(--color-stone-line); gap: 1px; }
.reviews-enduring__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 5fr) minmax(0, 5fr); min-width: 0; background: var(--color-basalt); }
.reviews-enduring__media { min-width: 0; min-height: 12rem; background: linear-gradient(135deg, rgb(17 18 20 / .1), rgb(17 18 20 / .75)), url('/public/media/archive-review-moonlit-knight.webp') center / cover; }
.reviews-enduring__media--ember { background-image: linear-gradient(135deg, rgb(17 18 20 / .1), rgb(17 18 20 / .75)), url('/public/media/archive-review-volcanic-keep.webp'); }
.reviews-enduring__media--fog { background-image: linear-gradient(135deg, rgb(17 18 20 / .1), rgb(17 18 20 / .75)), url('/public/media/archive-review-shadowed-labyrinth.webp'); }
.reviews-enduring__record, .reviews-enduring__note { min-width: 0; padding: var(--space-5); }
.reviews-enduring__record h3 { font-size: var(--text-2xl); }
.reviews-enduring__note { border-left: 1px solid var(--color-stone-line); }
.reviews-enduring__note h4 { font-size: var(--text-xl); }
.reviews-enduring__note p { max-width: 44ch; margin-bottom: 0; }
.reviews-enduring__row:hover { box-shadow: inset 2px 0 var(--color-ember); }
.reviews-utility__panel { padding: var(--space-6); }
.reviews-utility__panel > header { width: min(100%, 42rem); }
.reviews-utility__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; margin-top: var(--space-6); border-top: 1px solid var(--color-stone-line); }
.reviews-utility__notes article { min-width: 0; padding-top: var(--space-5); }
.reviews-utility__notes article + article { border-left: 1px solid var(--color-stone-line); padding-left: var(--space-6); }
.reviews-utility__notes p { max-width: 54ch; margin-bottom: 0; }
.reviews-threshold { text-align: center; }
.reviews-threshold__content { display: flex; width: min(100%, 38.75rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; padding-block: var(--space-8); }
.reviews-threshold__content > * { margin: 0; }
.reviews-threshold__content h2 { max-width: 22ch; }
.reviews-threshold__content p:not(.eyebrow) { max-width: 46ch; }
@media (max-width: 61.25rem) { .reviews-lead__wall { grid-template-columns: minmax(0, 1fr); } .reviews-lead__feature { min-height: 31rem; } .reviews-lead__verdict { min-height: 16rem; } .reviews-pathways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reviews-pathway:last-child { grid-column: span 2; } .reviews-archive__controls { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reviews-filter-fields { grid-column: span 2; } .reviews-reset { justify-self: start; } .reviews-archive__results { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 57.5rem) { .reviews-masthead__layout { grid-template-columns: minmax(0, 1fr); } .reviews-masthead__field { display: none; } .reviews-method__layout { grid-template-columns: minmax(0, 1fr); } .reviews-recent__card--wide, .reviews-recent__card--text, .reviews-recent__card--stacked, .reviews-recent__card--compact { grid-column: span 6; } .reviews-enduring__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .reviews-enduring__media { grid-column: span 2; min-height: 14rem; } }
@media (max-width: 45rem) { .reviews-masthead__copy h1 { font-size: 2.5rem; line-height: 1.05; } .reviews-masthead__scope { gap: var(--space-3) var(--space-3); } .reviews-masthead__scope span:not(:last-child)::after { display: none; } .reviews-lead__feature { min-height: 31rem; } .reviews-lead__content { width: 100%; padding: var(--space-5); } .reviews-lead__title { font-size: 2rem; } .reviews-lead__deck { font-size: var(--text-base); line-height: var(--leading-base); } .reviews-lead__verdict { padding: var(--space-5); } .reviews-recent__wall, .reviews-method__criteria, .reviews-pathways__grid, .reviews-archive__results { grid-template-columns: minmax(0, 1fr); } .reviews-recent__card--wide, .reviews-recent__card--text, .reviews-recent__card--stacked, .reviews-recent__card--compact, .reviews-pathway:last-child { grid-column: span 1; } .reviews-card__media, .reviews-recent__card--wide .reviews-card__media { height: auto; aspect-ratio: 3 / 2; } .reviews-archive__controls { grid-template-columns: minmax(0, 1fr); padding: var(--space-4); } .reviews-filter-fields { grid-column: span 1; grid-template-columns: minmax(0, 1fr); } .reviews-result__media { height: auto; aspect-ratio: 3 / 2; } .reviews-enduring__row { grid-template-columns: minmax(0, 1fr); } .reviews-enduring__media { grid-column: span 1; min-height: auto; aspect-ratio: 3 / 2; } .reviews-enduring__note { border-top: 1px solid var(--color-stone-line); border-left: 0; } .reviews-utility__panel { padding: var(--space-4); } .reviews-utility__notes { grid-template-columns: minmax(0, 1fr); gap: 0; } .reviews-utility__notes article + article { border-top: 1px solid var(--color-stone-line); border-left: 0; margin-top: var(--space-5); padding-top: var(--space-5); padding-left: 0; } .reviews-threshold__content { width: 100%; } }
@media (max-width: 23.75rem) { .reviews-threshold__content .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .reviews-page::before { display: none; } .reviews-lead__feature > img { transition: none; } }