.review-page {
    --review-ink: #271b34;
    --review-paper: #fffafb;
    --review-pink: #f9a4cb;
    background: var(--review-paper);
}

.review-hero {
    color: #fff5fa;
    background: radial-gradient(ellipse at 82% 20%, #593451, transparent 54%), #271b34;
}

.review-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.8fr);
    align-items: center;
    gap: clamp(28px, 7vw, 104px);
    padding-block: 50px 58px;
}

.review-crumb,
.review-meta,
.review-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.review-crumb {
    color: #ead2e2;
    font-size: 14px;
    margin-bottom: 22px;
}

.review-hero a:hover { color: var(--review-pink); }
.review-hero a:focus-visible { outline-color: var(--review-pink); }

.review-hero h1 {
    font-size: clamp(48px, 6.2vw, 96px);
    font-weight: 850;
    line-height: 0.98;
    overflow-wrap: anywhere;
}

.review-meta {
    margin-top: 15px;
    color: #eed9e8;
    overflow-wrap: anywhere;
}

.review-score {
    padding: 4px 9px;
    border-radius: 8px;
    background: #ffffff17;
    font-weight: 750;
}

.review-score .rating-stars-filled { fill: #ffc36c; }
.review-score .rating-stars-empty { fill: #817487; }
.review-score small { font-size: 12px; font-weight: 500; margin-left: 4px; }

.review-intro .description {
    max-width: 61ch;
    margin-top: 20px;
    color: #f4e8f0;
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.65;
}

.review-actions { margin-top: 24px; gap: 12px 22px; }
.affiliate-disclosure { margin-top: 10px; color: #eed9e8; font-size: 14px; }
.review-hero .button { background: var(--review-pink); color: #34152a; box-shadow: none; }
.review-hero .button:hover { background: #ffd3e7; color: #34152a; }
.review-jump { font-weight: 700; }

.review-art {
    padding: 12px;
    border-radius: 24px;
    background: #ffffff19;
    box-shadow: 10px 12px 0 #1c102a80;
    transform: rotate(2deg);
}

.review-art .brand-cover { min-height: 232px; border-radius: 15px; }
.review-art .cover-mark { font-size: clamp(64px, 8vw, 116px); }
.review-art .cover-name { font-size: 13px; }
.review-art .site-screenshot { width: 100%; height: auto; border-radius: 15px; }
.review-media-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(225px,100%),1fr)); gap: 14px; }
.home-video-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-video-grid .review-media-tile { aspect-ratio: 16/10; }
.home-video-card h3 { font-size: 17px; margin-top: 9px; overflow-wrap: anywhere; }
@media(max-width:780px){.home-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.review-media-tile { display: block; position: relative; aspect-ratio: 4/3; border-radius: 12px; overflow: hidden; background: #271b34; }
.review-media-tile[hidden], .review-media-more[hidden] { display: none; }
.review-media-more { margin-top: 14px; border: 0; font: inherit; font-weight: 750; cursor: pointer; }
.review-media-tile img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(var(--thumbnail-zoom, 1)); }
.review-media-icon { position: absolute; right: 9px; bottom: 9px; padding: 3px 9px; border-radius: 7px; color: #fff; background: #271b34e8; }
.review-media-tile:hover .review-media-icon { background: #8f1650; }
.review-preview {
    max-width: min(1080px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: #271b34;
    color: #fff5fa;
}
.review-preview::backdrop { background: #150e1be8; }
body:has(.review-preview[open]) { overflow: hidden; }
.preview-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; }
.preview-toolbar h3 { font-size: 16px; }
.preview-toolbar button { min-width: 38px; min-height: 38px; border: 0; border-radius: 7px; background: #f5dfed; color: #271b34; font: inherit; font-weight: 750; cursor: pointer; }
.preview-toolbar button:disabled { opacity: .4; cursor: default; }
.preview-content { display: grid; place-items: center; background: #180f22; }
.preview-content :is(img, video) { display: block; width: 100%; height: min(72dvh, 730px); object-fit: contain; }

.review-nav {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #f6e5ef;
    box-shadow: 0 4px 14px #26173311;
}

.review-nav-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 6px clamp(6px, 2vw, 24px);
    padding-block: 9px;
}

.review-nav a {
    padding: 7px 10px;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 750;
}

.review-nav a:hover { background: #ecd0e1; }
.review-section, .review-alternatives { scroll-margin-top: 112px; }

.review-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(235px, 292px);
    grid-template-areas: "content facts";
    align-items: start;
    gap: clamp(22px, 4vw, 58px);
    padding-block: 38px 56px;
}

.review-content { grid-area: content; min-width: 0; }
.review-section + .review-section { margin-top: 35px; }
.review-section > h2 { font-size: clamp(26px, 3vw, 38px); margin-bottom: 16px; }

.review-longform { max-width: 73ch; }
.review-attribution { color: var(--muted); font-size: 14px; margin-bottom: 17px; }
.review-attribution a { color: var(--pink); text-decoration: underline; }
.review-longform section + section { margin-top: 25px; }
.review-longform h3 {
    color: var(--review-ink);
    font-size: clamp(20px, 2.3vw, 26px);
    letter-spacing: -.025em;
    line-height: 1.25;
    margin-bottom: 9px;
}
.review-longform p { color: #47394e; line-height: 1.72; }
.review-longform p + p { margin-top: 10px; }

.review-tradeoffs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.review-tradeoffs section { border-radius: 15px; padding: 19px 21px; }
.review-pros { background: #e9f3ed; color: #214636; }
.review-cons { background: #f8e8ef; color: #633148; }
.review-tradeoffs h3 { font-size: 22px; display: flex; align-items: center; gap: 8px; }
.review-tradeoffs h3 span { font-size: 17px; }
.review-tradeoffs ul { margin: 12px 0 0; padding-left: 19px; }
.review-tradeoffs li + li { margin-top: 7px; }

.review-pricing { margin: 0 0 12px; }
.review-current-price { padding: 15px 17px; background: #f5e7ef; border-radius: 12px; margin-bottom: 13px; }
.review-current-price p { margin: 4px 0 6px; }
.review-current-price small { color: var(--muted); }
.review-current-price a { display: inline-block; color: var(--pink); font-weight: 700; margin-left: 10px; }
.review-pricing > div {
    display: grid;
    grid-template-columns: minmax(110px, 0.32fr) minmax(0, 1fr);
    gap: 8px 18px;
    padding: 14px 16px;
    background: #f5edf3;
}

.review-pricing > div:first-child { border-radius: 12px 12px 0 0; }
.review-pricing > div:last-child { border-radius: 0 0 12px 12px; background: #f9f2f6; }
.review-pricing dt, .review-sidebar dt { font-weight: 750; }
.review-pricing dd, .review-sidebar dd { margin: 0; }

.review-sidebar {
    grid-area: facts;
    position: sticky;
    top: 74px;
    padding: 21px 22px;
    border-radius: 16px;
    background: #eee6f0;
}

.review-sidebar h2 { font-size: 24px; }
.review-sidebar dl { display: grid; gap: 14px; margin-block: 16px; }
.review-sidebar dt { color: #5b475f; font-size: 13px; }
.review-sidebar dd > a { color: var(--pink); }
.review-tags { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
.review-tags a { border-radius: 6px; background: #fff8fc; padding: 4px 8px; font-size: 13px; }

.review-editions { display: grid; gap: 7px; }
.review-editions a {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    border-radius: 10px;
    background: #f5edf4;
}

.review-editions a:hover, .review-editions a[aria-current="page"] { background: #eed7e6; }
.review-editions small { display: block; }
.edition-arrow { color: var(--pink); }
.review-alternatives { background: #f2e7ef; }
.review-alternatives .section { padding-block: 32px 43px; }

@media (max-width: 800px) {
    .review-hero-inner { gap: 22px; }
    .review-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "facts" "content"; }
    .review-sidebar { position: static; }
    .review-sidebar dl { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 0; }
    .review-sidebar dl > div:first-child { grid-column: 1/-1; }
}

@media (max-width: 580px) {
    .review-hero-inner { grid-template-columns: minmax(0, 1fr); padding-block: 28px 34px; }
    .review-crumb { margin-bottom: 14px; }
    .review-art { display: none; }
    .review-layout { padding-block: 25px 34px; }
    .review-tradeoffs { grid-template-columns: minmax(0, 1fr); }
    .review-pricing > div { grid-template-columns: minmax(0, 1fr); }
    .review-nav a { padding: 5px 6px; font-size: 13px; }
}
