/* Shared public-site identity. Page-specific layout and interaction rules stay local. */
body.editorial-page {
    --paper: #f5f0e6;
    --ink: #302c25;
    --wine: #6f252b;
    --muted: #736b60;
    --rule: #cec4b3;
    --serif: "DM Serif Display", Georgia, serif;
    --sans: "DM Sans", sans-serif;
    --bs-body-color: var(--ink);
    --bs-border-color: var(--rule);
    --bs-link-color: var(--wine);
    --bs-link-hover-color: #45181d;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    max-width: 1440px;
    padding-inline: clamp(20px, 4vw, 64px);
    margin-inline: auto;
}
.editorial-page #custom-nav { background: var(--paper); box-shadow: none; border-bottom: 1px solid var(--rule); }
.editorial-page #custom-nav .nav-link { color: var(--ink); font: 600 12px var(--sans); letter-spacing: .09em; text-transform: uppercase; padding: .8rem 1.4rem; }
.editorial-page #custom-nav .nav-link.active { color: var(--wine); text-decoration: underline; text-underline-offset: 6px; }
.editorial-page #custom-nav .nav-link:hover { color: var(--wine); }
.editorial-page #custom-nav .nav-link i { display: none; }
.editorial-page #mobile-nav { background: var(--wine); }
.editorial-page a:focus-visible, .editorial-page button:focus-visible { outline: 2px solid var(--wine); outline-offset: 5px; }
.editorial-page :is(h1,h2,h3,h4,h5,h6) { color: var(--ink); font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; text-wrap: pretty; }
.editorial-page a { color: var(--wine); }
.editorial-page a:hover { color: #45181d; }
.editorial-page #mobile-nav a { color: #e1cbd0; }
.editorial-page #mobile-nav a:is(.active,:hover) { color: white; }
.editorial-page #mobile-nav a:focus-visible { outline-color: var(--paper); outline-offset: -3px; }
.editorial-nameplate { display: flex; justify-content: space-between; align-items: center; gap: 24px; border-bottom: 4px double var(--wine); padding: 6px 0 22px; margin-bottom: 36px; }
.editorial-page .editorial-brand { color: var(--wine); font: 400 clamp(28px,3vw,43px)/.95 var(--serif); letter-spacing: -.055em; text-decoration: none; }
.editorial-brand span { display: block; }
.editorial-nameplate p { color: var(--wine); text-align: right; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; line-height: 1.7; margin: 0; }
.editorial-nameplate p span { display: block; color: var(--muted); }
.editorial-footer { border-top: 4px double var(--wine); margin-top: 48px; padding: 32px 0 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.editorial-footer p { color: var(--muted); font: italic 14px Georgia,serif; margin: 18px 0 0; }
.editorial-footer nav { display: flex; flex-wrap: wrap; align-content: center; justify-content: flex-end; gap: 16px 24px; }
.editorial-footer nav a { font-size: 12px; text-decoration: none; }
.editorial-footer nav a:hover { text-decoration: underline; }
.editorial-footer small { grid-column: 1/-1; border-top: 1px solid var(--rule); padding-top: 16px; color: var(--muted); font-size: 10px; letter-spacing: .06em; }

/* Existing magazine sections share a single paper surface. */
.editorial-page :is(.article-magazine,.product-magazine,.cheese-magazine,.quiz-magazine,.game-magazine,.about-magazine,.report-magazine) {
    --mag-paper: #f5f0e6;
    --mag-cream: #e9e2d3;
    --mag-ink: #302c25;
    --mag-moss: #6f252b;
    --mag-barn: #865638;
    --mag-wheat: #e9ddc5;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin: 0 0 24px;
    overflow: visible;
}
.editorial-page :is(.article-masthead,.product-masthead,.cheese-masthead,.quiz-masthead,.game-masthead,.about-masthead) { border-bottom: 1px solid var(--rule); padding-bottom: 26px; margin-bottom: 30px; animation: none; }
.editorial-page :is(.article-masthead,.product-masthead,.cheese-masthead,.quiz-masthead,.game-masthead,.about-masthead) h1 { font: 400 clamp(36px,4.6vw,64px)/1.04 var(--serif); color: var(--wine); letter-spacing: -.035em; max-width: 24ch; margin-bottom: 16px; }
.editorial-page :is(.article-masthead,.product-masthead,.cheese-masthead,.quiz-masthead,.game-masthead,.about-masthead) p { font-family: var(--sans); color: var(--muted); max-width: 70ch; line-height: 1.7; }
.editorial-page :is(.article-kicker,.product-kicker,.cheese-kicker,.quiz-kicker,.game-kicker,.about-kicker,.article-meta,.story-card-date,.related-article-date,.founder-title,.game-feature-date,.cheese-feature-date) { color: var(--wine); font: 600 10px/1.6 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.editorial-page :is(.article-masthead,.product-masthead,.cheese-masthead,.quiz-masthead,.game-masthead,.about-masthead) :is(.article-kicker,.product-kicker,.cheese-kicker,.quiz-kicker,.game-kicker,.about-kicker) { color: var(--wine); font-size: 10px; }

/* Archive and finder: photography above open, rule-separated editorial entries. */
.editorial-page :is(.article-magazine .story-card,.cheese-card,.quiz-card,.about-card,.founder-card,.game-card,.game-feature,.cheese-feature,.cheese-story-card,.article-card) { background: transparent; border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; box-shadow: none; animation: none; }
.editorial-page :is(.article-magazine .story-card,.cheese-card):hover { transform: none; box-shadow: none; }
.editorial-page .article-magazine .story-card-body { padding: 20px 0; gap: 10px; }
.editorial-page :is(.story-card-title,.cheese-card-title,.quiz-title,.quiz-card h3) { font: 400 26px/1.15 var(--serif); color: var(--ink); letter-spacing: -.02em; }
.editorial-page .story-card-title a { color: inherit; }
.editorial-page .story-card-title a:hover { color: var(--wine); }
.editorial-page :is(.story-card-hook,.cheese-summary,.quiz-card p,.founder-bio,.about-card p,.game-card p,.game-sidebar p,.game-sidebar li) { color: var(--muted); font-family: var(--sans); line-height: 1.7; }
.editorial-page .article-magazine .story-card img { aspect-ratio: 4/3; object-fit: cover; border-radius: 0; }
.editorial-page .cheese-img-wrap { background: #e9e2d3; }
.editorial-page .cheese-card-body { padding: 20px 0; }
.editorial-page :is(.pill,.cheese-badge,.coverage-pill,.count-badge,.game-pill,.cheese-pill) { background: #e9e2d3; border: 1px solid var(--rule); color: var(--wine); border-radius: 2px; font-family: var(--sans); font-size: 11px; }
.editorial-page :is(.story-card-link,.game-cta,.cheese-cta) { color: var(--wine); font-family: var(--sans); font-weight: 600; }
.editorial-page :is(.filter-card,.sidebar-card,.game-sidebar,.cheese-sidebar,.quiz-promo-card,.amazon-ad-card,.podcast-container,.clarification-card) { background: #e9e2d3; border: 0; border-top: 2px solid var(--wine); border-radius: 0; box-shadow: none; animation: none; }
.editorial-page .filter-card { padding: 24px; margin-bottom: 32px; }
.editorial-page :is(.about-card,.founder-card) { padding: 0 0 26px; margin-bottom: 28px; }
.editorial-page :is(.about-card,.founder-card,.clarification-card) h2 { font: 400 32px/1.15 var(--serif); }
.editorial-page .founder-name { color: var(--wine); font-family: var(--serif); font-size: 24px; }
.editorial-page :is(.game-feature,.cheese-feature) { padding: 0 0 28px; gap: 28px; }
.editorial-page :is(.game-feature img,.cheese-feature img) { border-radius: 0; }
.editorial-page :is(.game-feature h2,.cheese-feature h2) { font: 400 clamp(28px,3vw,40px)/1.1 var(--serif); }
.editorial-page .game-card { padding: 24px 0; }

/* Long-form articles get a full-width opening image and a comfortable reading measure. */
.editorial-page .article-card > .card-body { padding: 0; }
.editorial-page .article-content-wrapper { display: block; animation: none; }
.editorial-page .article-img-block { max-width: none; margin-bottom: 28px; }
.editorial-page .article-featured-img { width: 100%; border-radius: 0; box-shadow: none; }
.editorial-page .article-meta { margin-top: 14px; }
.editorial-page .article-body { max-width: 68ch; margin-inline: auto; font: 400 19px/1.8 Georgia,serif; color: var(--ink); overflow-wrap: anywhere; }
.editorial-page .article-body h1 { font-size: clamp(34px,3.5vw,50px); line-height: 1.1; margin: 0 0 24px; }
.editorial-page .article-body h2 { font-size: 32px; line-height: 1.2; margin: 36px 0 16px; }
.editorial-page .article-body h3 { font-size: 26px; line-height: 1.25; margin-top: 28px; }
.editorial-page .article-body p { margin-bottom: 1.3em; }
.editorial-page .article-body a { text-decoration: underline; text-underline-offset: 3px; }
.editorial-page :is(.sidebar-section-title,.related-article-link,.quiz-promo-title) { font-family: var(--serif); font-weight: 400; color: var(--ink); }
.editorial-page .sidebar-section-title { font-size: 26px; border-color: var(--rule); }
.editorial-page .related-article-link { font-size: 20px; }
.editorial-page .related-article { border-color: var(--rule); }
.editorial-page .pairing-tip-card { background: #e9e2d3; border: 0; border-left: 3px solid var(--wine); border-radius: 0; padding: 24px; }
.editorial-page .pairing-tip-label { color: var(--wine); font-family: var(--sans); }
.editorial-page .quiz-promo-card-accent { background: var(--wine); }
.editorial-page .quiz-promo-kicker { color: var(--paper); font-family: var(--sans); }

/* Forms and older Bootstrap-based directories inherit the same controls. */
.editorial-page :is(.form-control,.form-select,#articleSearch,#quizSearch) { background: #fcf9f2; border: 1px solid var(--rule); border-radius: 2px; color: var(--ink); font-family: var(--sans); min-height: 44px; }
.editorial-page :is(.form-control,.form-select,#articleSearch,#quizSearch):focus { border-color: var(--wine); box-shadow: 0 0 0 3px #6f252b20; }
.editorial-page .filter-card .input-group-text { background: #fcf9f2 !important; border-color: var(--rule) !important; }
.editorial-page .filter-card .input-group-text i { color: var(--wine) !important; }
.editorial-page .filter-card #cheeseSearch { border-color: var(--rule) !important; }
.editorial-page :is(.btn-primary,.quiz-btn,.quiz-promo-btn,.amazon-ad-cta) { background: var(--wine); border-color: var(--wine); border-radius: 2px; color: #fff; font-family: var(--sans); }
.editorial-page :is(.btn-primary,.quiz-btn,.quiz-promo-btn,.amazon-ad-cta):hover { background: #45181d; border-color: #45181d; color: #fff; }
.editorial-page :is(.quiz-btn-secondary,.btn-outline-primary) { background: transparent; border: 1px solid var(--wine); color: var(--wine); border-radius: 2px; }
.editorial-page :is(.quiz-btn-secondary,.btn-outline-primary):hover { background: var(--wine); color: #fff; }
.editorial-page .card { --bs-card-bg: transparent; background: transparent; border-color: var(--rule); border-radius: 0; box-shadow: none; margin: 0 0 24px; }
.editorial-page .card-header { background: #e9e2d3; border-color: var(--rule); font-family: var(--serif); font-size: 23px; }
.editorial-page .card-img-top { border-radius: 0; }
.editorial-page .page-link { color: var(--wine); background: var(--paper); border-color: var(--rule); }
.editorial-page .active > .page-link { color: white; background: var(--wine); border-color: var(--wine); }
.editorial-page :is(.empty-state,.quiz-empty-state) { background: #e9e2d3; border: 1px solid var(--rule); border-radius: 0; color: var(--muted); font-family: var(--sans); }

/* Quiz feedback retains its semantic success/error colors. */
.editorial-page .quiz-card { padding: 26px 0; }
.editorial-page .quiz-card .quiz-question-text { font: 400 27px/1.3 var(--serif); color: var(--ink); }
.editorial-page .quiz-choices label { background: #fcf9f2; border: 1px solid var(--rule); border-radius: 2px; color: var(--ink); font-family: var(--sans); padding: 16px; }
.editorial-page .quiz-choices label:hover, .editorial-page .quiz-choices label:has(input:checked) { background: #e9e2d3; border-color: var(--wine); }
.editorial-page .quiz-choices input[type="radio"] { accent-color: var(--wine); }
.editorial-page .quiz-results-score h2 { color: var(--wine); font-family: var(--serif); }
.editorial-page .quiz-result-item { border-radius: 0; box-shadow: none; }
.editorial-page .quiz-explanation { border-radius: 0; font-family: var(--sans); }
.editorial-page .quiz-card-title { font: 400 27px/1.2 var(--serif); }
.editorial-page :is(.quiz-card-btn,.game-cta,.cheese-cta) { font-family: var(--sans); border-radius: 2px; }
.editorial-page :is(.quiz-card-btn-primary,.game-cta,.cheese-cta) { background: var(--wine); color: white; border-color: var(--wine); }
.editorial-page :is(.quiz-card-btn-primary,.game-cta,.cheese-cta):hover { background: #45181d; color: white; }
.editorial-page .quiz-card-btn-secondary { background: transparent; border: 1px solid var(--wine); color: var(--wine); }
.editorial-page .quiz-card-btn-secondary:hover { background: #e9e2d3; color: var(--wine); }
.editorial-page #quizSearchEmpty { background: #e9e2d3; border-color: var(--rule); color: var(--muted); border-radius: 0; }
.editorial-page .quiz-card-grid { animation: none; gap: 28px; grid-template-columns: repeat(auto-fill,minmax(min(280px,100%),1fr)); }
.editorial-page .quiz-card:hover { box-shadow: none; transform: none; }
.editorial-page .report-card { background: transparent; border: 0; border-radius: 0; box-shadow: none; animation: none; max-width: 900px; margin-inline: auto; }
.editorial-page .report-card .card-body { padding: 0; }
.editorial-page .report-header { border-color: var(--rule); }
.editorial-page .report-header h2 { font: 400 clamp(32px,4vw,52px)/1.1 var(--serif); color: var(--wine); }
.editorial-page .report-body { font: 400 18px/1.8 Georgia,serif; color: var(--ink); overflow-wrap: anywhere; }
.editorial-page .report-body :is(h1,h2,h3,h4) { color: var(--ink); font-family: var(--serif); font-weight: 400; }
.editorial-page .report-type-badge { background: var(--wine); border-radius: 2px; font-family: var(--sans); }
.editorial-page .report-product-link { color: var(--wine); font-family: var(--sans); }
.editorial-page .editorial-profile .card { border: 0; border-top: 1px solid var(--rule); }
.editorial-page .editorial-profile .card-body { padding: 20px 0; overflow-wrap: anywhere; }
.editorial-page .editorial-profile .card-header { background: transparent; padding: 16px 0; color: var(--wine); }
.editorial-page .profile-photo { aspect-ratio: 4/3; overflow: hidden; background: #e9e2d3; }
.editorial-page .table { --bs-table-bg: transparent; --bs-table-color: var(--ink); --bs-table-border-color: var(--rule); }
.editorial-page :is(.game-card,.game-sidebar,.cheese-sidebar,.cheese-story-card) :is(h2,h3) { font-family: var(--serif); font-weight: 400; color: var(--ink); font-size: 27px; line-height: 1.2; }
.editorial-page :is(.clarification-card p,.game-feature-copy p,.cheese-feature-copy p) { font-family: var(--sans); color: var(--muted); }
.editorial-page .quiz-badges { --bs-secondary-rgb: 111,37,43; --bs-info-rgb: 233,226,211; --bs-warning-rgb: 233,221,197; }
.editorial-page .quiz-badges .badge { border-radius: 2px; font-family: var(--sans); }

@media (max-width: 767.98px) {
    .editorial-nameplate { gap: 18px; margin-bottom: 26px; }
    .editorial-nameplate p { font-size: 8px; max-width: 130px; letter-spacing: .06em; }
    .editorial-page .editorial-brand { font-size: 28px; }
    .editorial-footer { grid-template-columns: 1fr; }
    .editorial-footer nav { justify-content: flex-start; }
    .editorial-page .article-body { font-size: 17px; }
    .editorial-page .article-body h2 { font-size: 28px; }
    .editorial-page .filter-card { padding: 18px; }
    .editorial-page .mobile-nav-item { min-width: 0; padding-inline: 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .editorial-page :is(.quiz-card,.article-card,.sidebar-card,.game-feature,.article-content-wrapper,.amazon-ad-card) { animation: none; transition: none; }
}
