:root { --paper: #fff; --ink: #202020; --line: #ddd; }
body { background: #fff; color: #202020; }
a { text-decoration: none; }
.review-shell { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.review-header { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-bottom: 1px solid #dedede; }
.review-brand { font-size: 20px; font-weight: 750; letter-spacing: -.045em; }
.review-brand span { color: #c54b46; }
.review-header a:last-child { padding-block: 14px; text-decoration: underline; text-underline-offset: 5px; font-size: 14px; }
.review-intro { padding-block: 68px 52px; max-width: 790px; }
.review-intro h1 { font-size: clamp(40px, 5vw, 66px); line-height: 1.06; letter-spacing: -.055em; margin: 0 0 26px; font-weight: 650; }
.review-intro p { color: #5c5c5c; font-size: 17px; line-height: 1.8; max-width: 700px; }
.review-status { display: inline-flex; align-items: center; gap: 9px; margin-top: 15px; font-size: 13px; }
.review-status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #c54b46; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px 32px; }
.review-card { min-width: 0; }
.review-image { display: block; overflow: hidden; aspect-ratio: 1.52; border: 1px solid #ddd; background: #f1f1f1; }
.review-image img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .35s; }
.review-image:hover img { transform: scale(1.025); }
.review-card-heading { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; margin-top: 23px; }
.review-card h2 { font-size: 25px; letter-spacing: -.03em; margin: 0; font-weight: 650; }
.review-card-heading span { font-size: 12px; color: #666; }
.review-card p { color: #606060; line-height: 1.7; font-size: 15px; margin: 13px 0 20px; }
.review-links { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 25px; font-size: 14px; }
.review-links a { min-height: 44px; display: inline-flex; align-items: center; gap: 14px; text-decoration: underline; text-underline-offset: 5px; }
.review-links a:hover { color: #b13f3b; }
.review-footer { border-top: 1px solid #ddd; margin-top: 64px; padding-block: 28px 40px; font-size: 13px; line-height: 1.8; color: #606060; display: flex; gap: 30px; justify-content: space-between; }
.review-footer a { text-decoration: underline; text-underline-offset: 4px; }
.credits-content { max-width: 920px; margin-inline: auto; padding-block: 40px; }
.credits-content h1 { font-size: clamp(35px, 5vw, 58px); letter-spacing: -.035em; }
.credits-content h2 { margin-top: 48px; font-size: 26px; letter-spacing: -.025em; }
.credits-content h3 { font-size: 18px; margin: 30px 0 12px; }
.credits-content p, .credits-content li { font-size: 15px; line-height: 1.8; color: #4c4c4c; }
.credits-content a { text-decoration: underline; text-underline-offset: 4px; }
.credits-content article { padding-bottom: 24px; border-bottom: 1px solid #ddd; }
:is(.review-header, .review-links, .review-footer, .credits-content) a:is(:hover, :focus-visible) {
  color: #b13f3b;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.review-image:is(:hover, :focus-visible) {
  outline: 2px solid #b13f3b;
  outline-offset: 2px;
}
.skip-link:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .review-image:hover img { transform: none; }
}
@media(max-width: 700px) {
  .review-shell { width: calc(100% - 40px); }
  .review-header { min-height: 85px; gap: 15px; flex-wrap: wrap; padding-block: 15px; }
  .review-brand { font-size: 19px; }
  .review-intro { padding-block: 45px 30px; }
  .review-intro p { font-size: 15px; }
  .review-grid { grid-template-columns: 1fr; gap: 40px; }
  .review-card-heading { gap: 12px; }
  .review-card h2 { font-size: 23px; }
  .review-footer { display: block; margin-top: 40px; }
}
