:root{
    --pub-bg:#0a0a09;
    --pub-paper:#f0eee8;
    --pub-ink:#11110f;
    --pub-muted:#aaa8a1;
    --pub-rule:rgba(240,238,232,.22);
}

body{
    background:var(--pub-bg);
    color:var(--pub-paper);
    font-family:Arial,Helvetica,sans-serif;
}

.background{display:none!important}

header{
    position:absolute;
    background:transparent;
}

header.scrolled{transform:none;background:var(--pub-bg)}

header nav{
    width:min(1380px,calc(100% - 56px));
    padding:24px 0;
    border:0;
    border-bottom:1px solid var(--pub-rule);
    border-radius:0;
    background:transparent;
}

.brand img{width:42px;height:42px;border:0;border-radius:0;object-fit:cover}
.brand h3{font:700 .92rem/1 Arial,sans-serif;letter-spacing:.15em}
.brand span{margin-top:5px;font:.72rem/1 Arial,sans-serif;color:var(--pub-muted)}
nav ul{gap:28px}
nav ul a{font-size:.82rem;font-weight:500;color:#cccac4}
.reviewSearch{border:0;border-bottom:1px solid var(--pub-rule);border-radius:0;background:transparent}
.reviewSearch input{font-size:.8rem}
.youtubeButton,.discordButton{
    min-height:auto;padding:7px 0;border:0;border-bottom:1px solid var(--pub-paper);
    border-radius:0;background:transparent;color:var(--pub-paper);font-size:.78rem
}
.discordButton svg{width:15px}

.hero{
    width:min(1380px,calc(100% - 56px));
    max-width:none;
    min-height:auto;
    display:grid;
    grid-template-columns:minmax(0,.74fr) minmax(500px,1.26fr);
    gap:0;
    align-items:stretch;
    padding:132px 0 0;
}
.heroText{
    max-width:none;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:70px 70px 64px 0;
    border-bottom:1px solid var(--pub-rule);
}
.heroKicker{
    margin:0 0 28px!important;
    color:var(--pub-muted)!important;
    font:400 .72rem/1.4 Consolas,"Courier New",monospace!important;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.hero h1{
    max-width:560px;
    margin:0 0 26px;
    font:400 clamp(3.5rem,5.8vw,6.7rem)/.88 Georgia,"Times New Roman",serif;
    letter-spacing:-.065em;
}
.hero h1 br{display:none}
.hero h1 span{font-style:italic;color:var(--pub-paper);-webkit-text-fill-color:currentColor}
.heroText>p:not(.heroKicker){max-width:510px;margin:0 0 32px;font-size:1rem;line-height:1.65;color:var(--pub-muted)}
.heroButtons{gap:22px}
.heroButtons a{padding:0 0 4px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:none;color:var(--pub-paper);font-size:.82rem;font-weight:600}
.heroImage{border-left:1px solid var(--pub-rule);border-bottom:1px solid var(--pub-rule)}
.heroImage img{
    width:100%;height:680px;border-radius:0;object-fit:cover;object-position:center 35%;
    filter:none;box-shadow:none
}

.about,.reviews,.setup,.business{
    width:min(1180px,calc(100% - 56px));
    max-width:none;
    margin-inline:auto;
    padding:110px 0;
    border-top:0;
}
.about{grid-template-columns:260px minmax(0,690px);justify-content:space-between;border-bottom:1px solid var(--pub-rule)}
.sectionHeader p,.newsletterLabel,.businessLabel,.reviewSectionLabel,.reviewEyebrow{
    margin-bottom:15px;color:var(--pub-muted);font:400 .7rem/1.4 Consolas,"Courier New",monospace;
    letter-spacing:.1em;text-transform:uppercase
}
.sectionHeader h2,.newsletter h2,.businessContent h2{
    font:400 clamp(2.5rem,4.5vw,4.8rem)/.95 Georgia,"Times New Roman",serif;
    letter-spacing:-.045em
}
.aboutText{padding:0;color:#ceccc5;font-size:1.08rem;line-height:1.9}

.reviews{width:min(1380px,calc(100% - 56px))}
.reviews .sectionHeader,.setup .sectionHeader{display:flex;align-items:end;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--pub-rule)}
.reviews .sectionHeader p,.setup .sectionHeader p{order:2;margin:0}
.reviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 24px;margin-top:28px}
.reviewCard,.reviewCard:not(.skeletonCard),.reviewCard.card-visible{
    border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none
}
.reviewCard:first-child{grid-column:1/-1}
.reviewCard:first-child .reviewCardLink{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);gap:34px;align-items:end}
.reviewCardLink{display:block}
.reviewThumbnail,.reviewThumbnail img{border-radius:0}
.reviewThumbnail img{filter:none}
.reviewInfo{padding:17px 0 0}
.reviewCard:first-child .reviewInfo{padding:0 0 8px}
.reviewInfo h3{font:400 clamp(1.8rem,3vw,3.4rem)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.04em}
.reviewCard:not(:first-child) .reviewInfo h3{font-size:clamp(1.55rem,2.4vw,2.4rem)}
.reviewSummary{margin-top:12px;color:var(--pub-muted);font-size:.92rem;line-height:1.55}
.reviewMeta{margin-top:18px;padding-top:12px;border-top:1px solid var(--pub-rule);color:var(--pub-muted);font:400 .7rem/1.4 Consolas,"Courier New",monospace}
.newBadge,.durationBadge{border-radius:0!important;font-family:Consolas,"Courier New",monospace!important;letter-spacing:.04em!important}

.setup{width:min(1180px,calc(100% - 56px))}
.setupGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:28px;border:1px solid var(--pub-rule);background:transparent}
.setupCard,.setupCard--half{grid-column:auto!important;padding:34px 38px;border:0;border-right:1px solid var(--pub-rule);border-bottom:1px solid var(--pub-rule);border-radius:0;background:transparent}
.setupCard:nth-child(even){border-right:0}
.setupCard h3{font:600 .76rem/1.4 Consolas,"Courier New",monospace;letter-spacing:.08em}
.setupCard ul{margin:0;padding:0}
.setupCard li{padding:10px 0 10px 26px;color:#c8c6c0}
.setupCard li::before{left:3px;top:1.12rem;width:5px;height:5px;transform:none;background:var(--pub-muted)}
.affiliateDisclosure{border-radius:0;background:transparent}

.newsletter{
    width:min(1180px,calc(100% - 56px));
    margin:20px auto 110px;
    padding:64px clamp(32px,4.5vw,64px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:start;
    gap:clamp(40px,7vw,100px);
    border:1px solid var(--pub-rule);
    border-width:1px 0;
    border-radius:0;
    background:transparent;
    contain:none;
    overflow:visible
}
.newsletterCopy,.newsletterSignup{min-width:0}
.newsletter h2{max-width:11ch;margin:0 0 22px;font-size:clamp(2.8rem,4vw,4.2rem);line-height:1.05}
.newsletterCopy>p:last-child{max-width:35ch;margin:0;font-size:1rem;line-height:1.65}
.newsletterForm{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.newsletterForm input[type=email]{width:100%;min-height:56px;border-radius:0;background:transparent}
.newsletterForm .cf-turnstile{width:100%;min-height:65px}
.newsletterForm .primary{width:100%;min-height:52px;border-radius:0;background:var(--pub-paper);color:var(--pub-ink)}
.newsletterNote{margin:12px 0 0;line-height:1.55}
.business{grid-template-columns:minmax(300px,.68fr) minmax(0,1fr);gap:90px}
.businessImage img{border-radius:0;filter:none}
.businessOverlay{display:none}

footer{border-top:1px solid var(--pub-rule)}
.socialLinks{border-radius:0!important;background:transparent!important}

.reviewPage{width:min(1180px,calc(100% - 56px));max-width:none;padding:150px 0 90px}
.reviewHero{display:block;min-height:auto}
.reviewHeroCopy{max-width:980px;padding:65px 0 54px}
.reviewBack{margin-bottom:56px;font-weight:500}
.reviewHero h1{max-width:1000px;font:400 clamp(4rem,8vw,8.8rem)/.85 Georgia,"Times New Roman",serif;letter-spacing:-.07em}
.reviewDeck{max-width:820px;font:400 clamp(1.35rem,2.3vw,2rem)/1.4 Arial,sans-serif;letter-spacing:-.025em}
.reviewIntro{font-size:1rem;line-height:1.7}
.reviewActions a{padding:0 0 4px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:none;color:var(--pub-paper)}
.reviewHeroMedia{width:100%;border:1px solid var(--pub-rule);border-width:1px 0;border-radius:0;background:transparent;box-shadow:none}
.reviewHeroMedia img{border-radius:0}
.reviewMediaBadge,.reviewHeroMedia::after{display:none}
.reviewQuickFacts{margin:0 0 110px;border:0;border-bottom:1px solid var(--pub-rule);border-radius:0;background:transparent}
.reviewQuickFacts article{padding:24px 4px;background:transparent}
.reviewQuickFacts span{text-transform:none;letter-spacing:.02em}
.reviewContent{grid-template-columns:minmax(0,1fr) 290px;gap:90px}
.reviewMain h2,.reviewVideoHeading h2,.reviewSpecs h2{font:400 clamp(2.4rem,4.5vw,4.5rem)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.045em}
.reviewCallout{margin:40px 0 70px;padding:24px 0;border-width:1px 0;border-radius:0;background:transparent}
.reviewCallout strong{margin:8px 0 0}
.reviewVideoFrame{border-radius:0}
.reviewSideCard{padding:26px 0;border-width:1px 0 0;border-radius:0;background:transparent}
.reviewSideCard:first-child{padding-top:0;border-top:0}
.reviewPrice{padding:18px 0;border-width:1px 0;border-radius:0;background:transparent}
.reviewBuyLink{justify-content:flex-start;padding:3px 0;border-bottom:1px solid var(--pub-paper);border-radius:0;background:transparent;color:var(--pub-paper)}

/* Search reads as an index, not an app dashboard. */
.searchPage{width:min(1180px,calc(100% - 56px));padding-top:150px}
.searchHero{max-width:1050px;padding:85px 0 74px;border-bottom:1px solid var(--pub-rule)}
.searchHero h1,.searchResultsHeading h2,.reviewSuggestion h2{
    font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.05em
}
.searchHeroForm>div,.suggestionForm>div{border-bottom:1px solid var(--pub-paper)}
.searchHeroForm input,.suggestionForm input{padding:16px 0;border:0;background:transparent}
.searchHeroForm input:focus,.suggestionForm input:focus{box-shadow:none}
.searchHeroForm button,.suggestionForm button{padding:16px 2px;border:0;background:transparent;color:var(--pub-paper)}
.searchResultsGrid{gap:48px 24px}
.searchResultCard,.searchResultCard--best,.reviewSuggestion,.searchEmpty{border:0;border-radius:0;background:transparent;box-shadow:none}
.searchResultCard>a{grid-template-columns:minmax(180px,.72fr) 1.28fr;border-top:1px solid var(--pub-rule)}
.searchResultMedia{border-radius:0;background:#111}
.searchResultCopy{padding:24px 0 0 28px}
.searchResultCopy h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.closestMatch,.searchDuration,.searchVerdict{border-radius:0;background:#080808;font-family:Consolas,"Courier New",monospace}
.reviewSuggestion{margin-top:100px;padding:60px 0;border-top:1px solid var(--pub-rule);border-bottom:1px solid var(--pub-rule)}

/* Ranked guides use the same issue-style layout as reviews. */
.rankedPage{width:min(1180px,calc(100% - 56px));padding-top:150px}
.rankedHero{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:auto;padding:70px 0;border-bottom:1px solid var(--pub-rule)}
.rankedHero h1,.rankedIntro h2,.rankedItem h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.rankedList{gap:0;border:1px solid var(--pub-rule);background:transparent}
.rankedItem{grid-template-columns:90px 1fr;padding:34px 28px;border:0;border-bottom:1px solid var(--pub-rule);border-radius:0;background:transparent}
.rankedItem:last-child{border-bottom:0}
.rankedItem:hover{transform:none;background:#0a0a0a}
.rankedNumber{border:0;background:none;color:var(--pub-paper);font-family:Georgia,"Times New Roman",serif;font-weight:400}
.rankedPrice{border-radius:0;background:transparent;color:var(--pub-muted);font-family:Consolas,"Courier New",monospace}
.rankedDisclosure{padding:30px 0;border-width:1px 0;border-radius:0;background:transparent}

@media(max-width:900px){
    header nav{width:min(100% - 30px,1380px)}
    .hero{width:min(100% - 30px,1380px);grid-template-columns:1fr;padding-top:116px}
    .heroText{padding:64px 0 48px}
    .heroImage{border-left:0}
    .heroImage img{height:min(115vw,680px)}
    .about{grid-template-columns:1fr;gap:34px}
    .reviewCard:first-child .reviewCardLink{grid-template-columns:1fr}
    .reviewContent{grid-template-columns:1fr}
    .reviewSidebar{position:static;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
    .newsletter{grid-template-columns:1fr;gap:32px;padding:52px 32px}
    .newsletter h2{max-width:none}
}

@media(max-width:620px){
    .about,.reviews,.setup,.business,.newsletter,.reviewPage{width:min(100% - 30px,1180px)}
    .reviewGrid,.setupGrid{grid-template-columns:1fr}
    .setupCard{border-right:0}
    .reviews .sectionHeader,.setup .sectionHeader{display:block}
    .reviews .sectionHeader p,.setup .sectionHeader p{margin-bottom:8px}
    .reviewSidebar{grid-template-columns:1fr}
    .reviewQuickFacts{grid-template-columns:repeat(2,minmax(0,1fr))}
    .reviewHero h1{font-size:clamp(3.6rem,18vw,5.7rem)}
    .newsletter{margin:10px auto 80px;padding:40px 20px}
    .newsletter h2{font-size:clamp(2.7rem,11vw,4rem)}
}

/* A compact creator-site layout: masthead, photo banner, then the work. */
body{background:#181818;color:#f0eee8}
header,header.scrolled{position:relative;top:auto;transform:none;background:#101010}
header nav,header.scrolled nav{
    width:min(1040px,calc(100% - 48px));max-width:none;
    display:grid;grid-template-columns:minmax(0,1fr) auto auto;
    gap:18px 28px;align-items:center;
    margin:auto;padding:25px 0 15px;
    border:0;border-radius:0;background:transparent;
    box-shadow:none;backdrop-filter:none
}
.brand{grid-column:1/-1;justify-self:center;display:flex;align-items:center;gap:12px;margin:0 0 13px}
.brand img{width:54px;height:54px;border-radius:0}
.brand h3{font-size:1.65rem;line-height:1;letter-spacing:.045em}
.brand span{margin-top:5px;font-size:.72rem;letter-spacing:.07em}
header nav ul{justify-content:flex-start;flex-wrap:wrap;gap:8px 20px;margin:0}
header nav ul a{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.reviewSearch{width:190px;min-width:0;margin:0}
.navActions{display:flex;align-items:center;gap:17px;margin:0}
.youtubeButton,.discordButton{white-space:nowrap}

.hero,.about,.reviews,.setup,.newsletter,.business,footer,
.reviewPage,.searchPage,.rankedPage{
    width:min(1040px,calc(100% - 48px));max-width:none;
    margin-inline:auto;background:#101010
}
.hero{display:flex;flex-direction:column;gap:0;min-height:0;padding:18px 48px 0}
.heroImage{order:0;width:100%;border:0}
.heroImage img{width:100%;height:300px;object-fit:cover;object-position:center 53%}
.heroText{order:1;display:block;max-width:760px;padding:47px 24px 50px;border:0}
.hero h1{max-width:none;margin:0 0 15px;font:700 clamp(2.4rem,5vw,4.25rem)/1.04 Arial,Helvetica,sans-serif;letter-spacing:-.055em}
.hero h1 span{font:inherit}
.heroText>p:not(.heroKicker){max-width:660px;margin:0 0 19px;color:#d1cfc9;font-size:1.03rem;line-height:1.7}
.heroButtons{justify-content:flex-start;gap:24px}
.heroButtons a{font-size:.84rem}
.heroButtons a:hover,.heroButtons a:focus-visible{
    background:transparent;color:var(--pub-paper);box-shadow:none;
    transform:none;opacity:.68
}

.about,.reviews,.setup,.business{padding:52px 72px;border-top:1px solid var(--pub-rule)}
.about{display:block}
.about .sectionHeader{margin:0 0 16px}
.about .sectionHeader h2{font:700 1.3rem/1.25 Arial,Helvetica,sans-serif;letter-spacing:-.025em}
.aboutText{max-width:730px;font-size:.97rem;line-height:1.75}
.sectionHeader h2{font:700 clamp(1.65rem,3vw,2.35rem)/1.18 Arial,Helvetica,sans-serif;letter-spacing:-.04em}
.reviews .sectionHeader,.setup .sectionHeader{display:block;padding:0 0 18px;border-bottom:1px solid var(--pub-rule)}
.reviewGrid{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.reviewCard:first-child{grid-column:auto}
.reviewCard,.reviewCard:first-child{padding:24px 0;border-bottom:1px solid var(--pub-rule)}
.reviewCard .reviewCardLink,.reviewCard:first-child .reviewCardLink{
    display:grid;grid-template-columns:minmax(210px,38%) minmax(0,1fr);
    gap:28px;align-items:center
}
.reviewCard .reviewInfo,.reviewCard:first-child .reviewInfo{padding:0}
.reviewInfo h3,.reviewCard:not(:first-child) .reviewInfo h3{font:700 clamp(1.35rem,2.4vw,2.1rem)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.035em}
.reviewThumbnail img{width:100%;aspect-ratio:16/9;object-fit:cover}

.setupGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px;margin:0;border:0;background:transparent}
.setupCard,.setupCard--half,.setupCard--third,.setupCard--wide{
    grid-column:auto!important;padding:23px 0 28px;
    border:0;border-bottom:1px solid var(--pub-rule);background:transparent
}
.setupCard h3{margin-bottom:12px;font:700 .83rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:.045em}
.setupCard li{padding:7px 0;color:#ceccc6}
.setupCard li::before{display:none}
.affiliateDisclosure{max-width:740px;margin:30px 0 0;padding:0;font-size:.83rem;line-height:1.6}

.newsletter{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:48px;margin-top:0;margin-bottom:0;padding:54px 72px;border:0;border-top:1px solid var(--pub-rule)}
.newsletter h2{max-width:none;margin:0 0 12px;font:700 clamp(1.7rem,3vw,2.45rem)/1.13 Arial,Helvetica,sans-serif;letter-spacing:-.04em}
.newsletterCopy>p:last-child{font-size:.95rem}
.business{
    display:block;min-height:0;margin:0 auto;
    border-radius:0;box-shadow:none
}
.businessImage{width:100%;height:auto}
.businessImage img{width:100%;height:285px;max-height:none;object-fit:cover}
.businessContent{width:auto;max-width:720px;min-width:0;padding:34px 0 0;text-align:left}
.businessContent h2{font:700 clamp(1.7rem,3vw,2.5rem)/1.13 Arial,Helvetica,sans-serif;letter-spacing:-.04em}
.businessText{max-width:640px;margin:15px 0 0;font-size:.97rem;line-height:1.7}
.businessContent .email{
    display:inline-block;margin:22px 0 0;padding:0 0 3px;
    border-bottom:1px solid currentColor;overflow-wrap:anywhere;
    color:var(--pub-paper);font:700 1rem/1.5 Arial,Helvetica,sans-serif;
    letter-spacing:0;text-shadow:none
}
.businessContent .email:hover{color:var(--pub-paper);opacity:.68;text-shadow:none}
footer{padding:35px 72px;border-top:1px solid var(--pub-rule)}

.reviewPage,.searchPage,.rankedPage{padding:38px 72px 72px}
.reviewHeroCopy{padding:38px 0 36px}
.reviewBack{margin-bottom:35px}
.reviewHero h1{font:700 clamp(2.7rem,5vw,4.8rem)/1.02 Arial,Helvetica,sans-serif;letter-spacing:-.055em}
.reviewDeck{font:400 clamp(1.15rem,2vw,1.55rem)/1.45 Arial,Helvetica,sans-serif}
.reviewHeroMedia{border:0}
.reviewHeroMedia img{max-height:530px;object-fit:cover}
.reviewQuickFacts{margin-bottom:60px}
.reviewContent{gap:48px}
.reviewMain h2,.reviewVideoHeading h2,.reviewSpecs h2,
.searchHero h1,.searchResultsHeading h2,.reviewSuggestion h2,
.rankedHero h1,.rankedIntro h2,.rankedItem h2{
    font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.04em
}
.searchHero,.rankedHero{padding-top:35px}

@media(max-width:900px){
    header nav,header.scrolled nav{grid-template-columns:minmax(0,1fr) auto}
    header nav ul{grid-column:1/-1;grid-row:2;justify-content:center}
    .reviewSearch{grid-column:1;grid-row:3;width:100%}
    .navActions{grid-column:2;grid-row:3}
    .hero{padding-inline:30px}
    .about,.reviews,.setup,.business,.newsletter,footer{padding-inline:42px}
    .reviewPage,.searchPage,.rankedPage{padding-inline:42px}
    .newsletter{grid-template-columns:1fr}
}
@media(max-width:620px){
    header nav,header.scrolled nav{width:min(100% - 32px,1040px);gap:15px 12px}
    .brand{margin-bottom:3px}
    .brand img{width:42px;height:42px}
    .brand h3{font-size:1.35rem}
    header nav ul{gap:7px 15px}
    header nav ul a{font-size:.74rem}
    .navActions{gap:10px}
    .discordButton span{display:none}
    .hero,.about,.reviews,.setup,.newsletter,.business,footer,
    .reviewPage,.searchPage,.rankedPage{width:min(100% - 20px,1040px)}
    .hero{padding:10px 10px 0}
    .heroImage img{height:190px}
    .heroText{padding:32px 16px 35px}
    .hero h1{font-size:clamp(2.15rem,9vw,3rem)}
    .about,.reviews,.setup,.business,.newsletter,footer{padding:38px 26px}
    .reviewCard .reviewCardLink,.reviewCard:first-child .reviewCardLink{grid-template-columns:1fr;gap:12px}
    .setupGrid{grid-template-columns:1fr}
    .newsletter{gap:25px}
    .reviewPage,.searchPage,.rankedPage{padding:22px 24px 54px}
    .reviewHero h1{font-size:clamp(2.4rem,10vw,3.7rem)}
    .businessImage img{height:190px}
    .businessContent{padding-top:25px}
}

/* Plain typography across the site, including generated review pages. */
body,body *{
    font-family:Arial,Helvetica,sans-serif!important;
    font-weight:400!important;
    font-style:normal!important;
    letter-spacing:normal!important;
    text-shadow:none!important;
}
.hero h1,.reviewHero h1{line-height:1.12}
.sectionHeader h2,.newsletter h2,.businessContent h2{line-height:1.2}
