/* House of Thorne, September 2026 guide.
   Shared visual rules only: content, account state, and access remain page-owned. */
body.house-brand {
    background: var(--house-ink);
    color: var(--house-text);
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.6;
}
/* Important only for the shared type role; individual pages keep their sizes. */
body.house-brand :is(h1, h2) {
    font-family: var(--font-serif) !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: -.025em;
}
body.house-brand :is(button, input, select, textarea) { font-family: var(--font-sans); }
body.house-brand :is(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--house-focus) !important;
    outline-offset: 4px;
}
body.house-brand :is(.eyebrow, .course-kicker, .ri-kicker, .bookshop-warm-eyebrow) {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .13em;
}
body.house-brand :is(.button, .hot-button, .my-house-button, .ri-button, .bookshop-warm-btn,
.web-bookshop-primary, .web-bookshop-secondary, .course-button, .forum-button,
a[class*="-button"], button[class*="-button"], a[class*="-btn"], button[class*="-btn"]) {
    min-height: 44px;
    border-radius: 999px;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
}
body.house-brand .button { background: var(--house-gold); color: var(--house-ink); }
body.house-brand .button.secondary { background: transparent; color: var(--house-text); border-color: var(--house-rule); }
body.house-brand :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=color]), select, textarea) {
    font-size: 16px;
    line-height: 1.5;
    border-radius: 6px;
}
body.house-brand :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=color]), select) { min-height: 44px; }
body.house-brand .site-footer { color: var(--house-muted); border-color: var(--house-rule); font-size: 14px; }
body.house-brand .site-brand img { object-fit: contain; aspect-ratio: auto; }
body.house-brand .october-header { background: var(--house-ink); border-color: var(--house-rule); }
body.house-brand .october-header .nav-panel-section h2 {
    font-family: var(--font-sans) !important;
    font-size: 16px;
    font-weight: 500 !important;
    line-height: 1.4;
    letter-spacing: 0;
}
/* Editorial hierarchy: atmosphere at the entrance, restrained titles within cards. */
body.house-brand :is(.archive-hero h1, .article-header h1, .web-my-house-hero h1, .ri-story h1) {
    font-size: clamp(40px, 5.4vw, 76px);
    line-height: 1.12;
}
body.house-brand :is(.reader-discovery-heading h2, .web-my-house-section > header h2, .home-band-heading h2) {
    font-size: clamp(28px, 3.3vw, 40px);
    line-height: 1.2;
}
body.house-brand :is(.post-card-title, .story-card h3, .title-card h3) {
    font-family: var(--font-serif);
    font-size: clamp(22px, 2.1vw, 28px);
    font-weight: 400;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: -.02em;
}
body.house-brand :is(.post-card-meta, .post-meta, .article-meta, .ri-reading-strip, .ri-genre, .ri-chapter-meta, .ri-breadcrumb) {
    font-size: 13px;
    line-height: 1.5;
}
body.house-brand .gh-content { max-width: 760px; font-family: var(--font-sans); font-size: var(--story-font-size, 19px); line-height: var(--story-line-height, 1.7); }
body.house-brand .gh-content :is(h2,h3) { font-family: var(--font-serif); font-weight: 400; line-height: 1.25; text-transform: none; letter-spacing: -.02em; }
body.house-brand .gh-content h2 { font-size: 34px; }
body.house-brand .gh-content h3 { font-size: 26px; }
body.house-brand .gh-content :is(strong,b) { font-weight: 700; }
body.house-brand .gh-content :is(pre,code) { font-family: ui-monospace, monospace; }
body.house-brand .reader-discovery { background: var(--house-raised); border-color: var(--house-rule); border-radius: 8px; }
body.house-brand .reader-discovery label { font-size: 12px; font-weight: 500; letter-spacing: .08em; }
body.house-brand .reader-discovery :is(input,select) { font-weight: 400; }
body.house-brand .ri-story .ri-synopsis { font-size: 16px; line-height: 1.65; }
body.house-brand .ri-story .ri-hook { font-family: var(--font-serif); font-size: 24px; line-height: 1.3; }
body.house-brand .ri-story h2 { font-size: 32px; line-height: 1.2; }
body.house-brand .ri-story .ri-chapter-title { font-family: var(--font-serif); font-size: 24px; font-weight: 400; line-height: 1.3; }
body.house-brand .ri-story .ri-button { font-size: 14px; }
/* My House keeps compact utility cards, rather than inheriting hero typography. */
body.house-brand .web-my-house-grid > article { border-radius: 8px; background: var(--house-raised); border-color: var(--house-rule); }
body.house-brand .web-my-house-grid h2 { font-size: 26px; line-height: 1.25; }
body.house-brand .web-my-house-grid p:not(.eyebrow) { font-size: 16px; line-height: 1.6; }
body.house-brand .web-my-house-grid .my-house-button { font-size: 14px; font-weight: 500; }
body.house-brand .web-my-house-summary strong { font-family: var(--font-serif); font-weight: 400; }
/* Keep the deliberate light departments and use dark actions on paper. */
body.house-brand .october-theory-hub .october-theory-header { background: var(--house-ivory); color: var(--house-theory-ink); }
body.house-brand .october-theory-hub .october-theory-copy h1 { color: var(--house-theory-ink); line-height: 1.15; }
body.house-brand .web-bookshop-landing { background: var(--house-quill-paper); color: var(--house-quill-ink); }
body.house-brand .web-bookshop-landing :is(h1,h2) { color: var(--house-quill-ink); }
body.house-brand .bookshop-warm-btn { color: var(--house-quill-ink); border-color: var(--house-quill-ink); }
body.house-brand .bookshop-warm-choice .bookshop-warm-btn { background: var(--house-quill-ink); color: var(--house-quill-paper); }
body.house-brand .bookshop-warm-eyebrow { color: var(--house-quill-ink); }
body.house-brand .web-bookshop-landing p:not(.bookshop-warm-eyebrow) { font-size: 16px; line-height: 1.6; }
/* The approved home retains its composition with more comfortable utility text. */
body.house-brand #hot-home-brands { font-size: 16px; line-height: 1.6; }
body.house-brand #hot-home-brands .hf-button { font-size: 14px; font-weight: 500; }
body.house-brand #hot-home-brands .hf-text-button { min-height: 44px; font-size: 14px; }
body.house-brand #hot-home-brands :is(.hf-hero h1, h1) { line-height: 1.12; }
body.house-brand #hot-home-brands h2 { line-height: 1.2; }
@media (max-width: 620px) {
    body.house-brand .gh-content { font-size: var(--story-font-size, 18px); line-height: var(--story-line-height, 1.7); }
    body.house-brand .ri-story h1 { font-size: clamp(38px, 10vw, 52px); }
    body.house-brand .ri-story .ri-chapter-title { font-size: 22px; }
    body.house-brand .gh-content h2 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    body.house-brand *, body.house-brand *::before, body.house-brand *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
body.house-brand :is(h3,h4) { font-weight: 500; text-transform: none; }
body.house-brand .discovery-result { border-radius: 8px; border-color: var(--house-rule); }
body.house-brand .discovery-result h3 { font-family: var(--font-serif); font-size: 24px; font-weight: 400; line-height: 1.25; }
body.house-brand .discovery-result h3 a { text-decoration: none; }
body.house-brand .discovery-result small { font-size: 13px; line-height: 1.5; color: var(--house-muted); }
body.house-brand .discovery-result .discovery-topics { font-size: 13px; line-height: 1.5; color: var(--house-muted); }
body.house-brand .reader-discovery select { font-weight: 400; }

/* Story collections: an illustrated reading list with room for the story. */
body.house-brand .story-collection .story-category-header { max-width: 760px; margin-bottom: 32px; }
body.house-brand .story-collection .story-category-header h2 { font-size: clamp(36px, 4.5vw, 60px); line-height: 1.15; }
body.house-brand .story-collection .story-category-header p:not(.eyebrow) { font-size: 17px; }
body.house-brand .collection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body.house-brand .collection-card { min-width: 0; border-top: 1px solid var(--house-rule); }
body.house-brand .collection-card-link {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 24px;
    padding: 24px 0;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
body.house-brand .collection-card-art { align-self: start; min-width: 0; }
body.house-brand .collection-card-art img { display: block; width: 100%; height: auto; border-radius: 4px; }
body.house-brand .collection-card-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
body.house-brand .collection-card-count { color: var(--house-muted); font-size: 12px; line-height: 1.4; }
body.house-brand .collection-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
body.house-brand .collection-card-status { color: var(--house-gold); font-size: 12px; line-height: 1.4; }
body.house-brand .collection-card-text-only .collection-card-link { grid-template-columns: minmax(0, 1fr); }
body.house-brand .collection-card .story-new-badge { position: static; min-height: 0; padding: 0; border: 0; background: none; box-shadow: none; color: var(--house-gold); font-size: 11px; letter-spacing: .06em; }
body.house-brand .collection-card h3 { margin: 8px 0 12px; color: var(--house-text); font-family: var(--font-serif); font-weight: 400; font-size: clamp(23px, 2.2vw, 28px); line-height: 1.2; letter-spacing: -.02em; }
body.house-brand .collection-card p { margin: 0 0 20px; color: var(--house-muted); font-size: 14px; line-height: 1.6; }
body.house-brand .collection-card-action { display: flex; gap: 16px; align-items: center; margin-top: auto; min-height: 44px; color: var(--house-gold); font-size: 14px; font-weight: 400; }
body.house-brand .collection-card-link:hover h3 { color: var(--house-gold); }
body.house-brand .collection-card-link:hover .collection-card-action { text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 980px) {
    body.house-brand .collection-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    body.house-brand .collection-card-link { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); }
}
@media (max-width: 480px) {
    body.house-brand .collection-card-link { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    body.house-brand .collection-card-art { width: 100%; }
    body.house-brand .collection-card h3 { font-size: 28px; }
    body.house-brand .collection-card p { font-size: 15px; margin-bottom: 12px; }
}

/* Let each artwork define its own box, without cropping or letterboxing. */
body.house-brand .reading-shelf-button {
    min-height: 44px;
    padding: 8px 16px;
    border: 1px solid var(--house-rule);
    border-radius: 999px;
    background: transparent;
    color: var(--house-gold);
    font: 400 14px/1.4 var(--font-sans);
    cursor: pointer;
}
body.house-brand .reading-room-card > .reading-shelf-button { margin: 0 16px 16px; }
body.house-brand .reading-shelf-button:hover { border-color: var(--house-gold); }
body.house-brand .reading-shelf-feedback { padding: 16px; margin: 20px 0; border: 1px solid var(--house-rule); border-radius: 8px; }
body.house-brand .reading-room-removed summary { cursor: pointer; min-height: 44px; padding: 12px 0; color: var(--house-gold); }
body.house-brand .reading-room-removed > p { color: var(--house-muted); font-size: 15px; }
body.house-brand .reading-room [hidden] { display: none !important; }
body.house-brand .discovery-result-image { display: block; align-self: start; min-width: 0; }
body.house-brand .discovery-result-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    background: transparent;
    border-radius: 4px;
}

/* Chapter pages keep the editorial scale close to the reading column. */
body.house-brand .article-header { max-width: 760px; margin-inline: auto; }
body.house-brand .article-header h1 { font-size: clamp(34px, 4.3vw, 56px); color: var(--house-ivory); }
body.house-brand .article-header .eyebrow { color: var(--house-muted); }
body.house-brand .article-meta { color: var(--house-muted); gap: 8px 16px; }
body.house-brand .story-metadata-panel { padding: 0; border: 0; border-radius: 0; background: transparent; gap: 16px; margin-top: 24px; }
body.house-brand .story-synopsis { border-block: 1px solid var(--house-rule); padding: 0; }
body.house-brand .story-synopsis summary { cursor: pointer; padding: 14px 0; min-height: 48px; font-size: 15px; color: var(--house-text); }
body.house-brand .story-synopsis summary span { margin-left: 12px; font-size: 12px; color: var(--house-muted); }
body.house-brand .story-synopsis-copy { font-size: 16px; line-height: 1.65; margin: 0 0 16px; color: var(--house-muted); }
body.house-brand .story-metadata-label { font-size: 11px; font-weight: 400; color: var(--house-muted); letter-spacing: .06em; }
body.house-brand .story-metadata-panel .advisory-badge { font-size: 12px; font-weight: 400; text-transform: none; letter-spacing: 0; background: transparent; }
body.house-brand .jump-to-comments { min-height: 44px; font-size: 14px; font-weight: 400; background: transparent; border-color: var(--house-rule); color: var(--house-text); }
body.house-brand :is(.expanded-reader-notes, .expanded-commentary-requests) { padding: 0; background: transparent; border: 0; border-block: 1px solid var(--house-rule); }
body.house-brand .reading-tool-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; min-height: 64px; padding: 16px 0; list-style: none; }
body.house-brand .reading-tool-disclosure > summary::-webkit-details-marker { display: none; }
body.house-brand .reading-tool-disclosure > summary::after { content: "+"; color: var(--house-gold); font-size: 24px; }
body.house-brand .reading-tool-disclosure[open] > summary::after { content: "−"; }
body.house-brand .reading-tool-disclosure > summary h2 { margin: 0; font-size: clamp(22px, 3vw, 28px); line-height: 1.3; }
body.house-brand .reading-tool-disclosure > header p { margin: 0 0 16px; color: var(--house-muted); font-size: 14px; }
body.house-brand .reading-tool-disclosure :is(button, label) { font-size: 14px; }
body.house-brand .reading-tool-disclosure button { min-height: 44px; border: 1px solid var(--house-rule); border-radius: 999px; padding: 10px 16px; background: transparent; color: var(--house-text); }
body.house-brand .reading-tool-disclosure button[type="submit"] { background: var(--house-gold); color: var(--house-ink); }
body.house-brand .reading-tool-disclosure > ul { padding-left: 20px; }
body.house-brand .reading-tool-disclosure > ul > li { padding-block: 16px; border-top: 1px solid var(--house-rule); }

/* Long collection titles remain readable when the visitor enlarges text. */
body.house-brand .collection-page > .story-category-header h1 { overflow-wrap: anywhere; }

/* Preserve the approved BORS page layouts within the shared House theme.
   Exact page and content roots keep header, prose and other pages unchanged. */
body.house-brand.page-bors-welcome .page-article > .gh-content,
body.house-brand.page-mk-arsenault .page-article > .gh-content,
body.house-brand.page-book-of-ruined-saints-access .page-article > .gh-content {
    max-width: none;
    width: 100%;
}
body.house-brand.page-bors-welcome .bors-welcome,
body.house-brand.page-mk-arsenault .bors-catalogue,
body.house-brand.page-book-of-ruined-saints-access .mk-offer {
    --font-sans: "Poppins", Arial, sans-serif;
    --font-serif: "Merriweather", Georgia, serif;
    --font-display: "Merriweather", Georgia, serif;
}
body.house-brand.page-bors-welcome .bors-welcome :is(h2, h3),
body.house-brand.page-mk-arsenault .bors-catalogue :is(h2, h3),
body.house-brand.page-book-of-ruined-saints-access .mk-offer :is(h2, h3) {
    line-height: 1.14;
}
body.house-brand.page-mk-arsenault .bors-catalogue a.bc-button {
    min-height: 50px;
    border-radius: 0;
    font-weight: 600;
    line-height: 1.5;
}
body.house-brand.page-mk-arsenault .bors-catalogue .bc-explore a.bc-button {
    min-height: 54px;
}
