/* Public author identity; content and administration keep their existing logic. */
:root {
    --paper: #f8f5ef;
    --mist: #efe8dc;
    --sage: #b7b2a0;
    --ink: #30281f;
    --text: #56514a;
    --muted: #71685c;
    --clay: #8c6936;
    --deep: #3b3329;
    --footer: #342d23;
    --line: rgba(124, 105, 78, 0.24);
    --gold: #dfbf85;
    --sun: #ecd4aa;
    --amber: #896333;
    --indigo: #4b4032;
    --violet: #6b5d4c;
    --sky: #aaa28e;
    --glow: 0 12px 28px rgba(105, 85, 54, 0.12);
    --shadow: 0 10px 28px rgba(55, 44, 31, 0.08);
}

body {
    background: var(--paper) url('../images/author-paper.webp') repeat;
    background-size: 512px 512px;
    color: var(--text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
}

body[class] * {
    letter-spacing: 0;
}

::selection {
    background: #e7d1ae;
    color: var(--ink);
}

h1 { font-size: 60px; }
h2 { font-size: 42px; }
h3 { font-size: 26px; }

h1, h2, h3, h4 {
    overflow-wrap: break-word;
}

a, .text-link, .post-meta { color: var(--amber); }
a:hover, .text-link:hover { color: #624722; }

.section {
    background: transparent;
    padding: 64px 0;
}

.section-muted {
    background: rgba(221, 207, 184, 0.18);
}

.section-inner {
    width: min(88%, 1180px);
}

.section-inner p,
.article-body,
.post-card-body,
.contact-panel,
.details-list {
    font-size: 16px;
    line-height: 1.75;
}

.section-inner.narrow { max-width: 960px; }
.kicker { color: var(--amber); font-size: 13px; }
.subtitle { color: var(--amber); }

button, .button {
    min-height: 48px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: #8c6936;
    color: #fffaf2;
    box-shadow: none;
    padding: 13px 24px;
}

button:hover, .button:hover {
    background: #73542b;
    color: #fffaf2;
    box-shadow: none;
    transform: translateY(-1px);
}

.muted-button,
.accent-band .muted-button {
    background: var(--deep);
    color: #fffaf2;
    box-shadow: none;
}

.muted-button:hover,
.accent-band .muted-button:hover {
    background: #514535;
    color: #fffaf2;
}

a:focus-visible, button:focus-visible {
    outline: 3px solid #b69869;
    outline-offset: 4px;
}

input, select, textarea,
.category-select-form select {
    border: 1px solid #b9ac98;
    border-radius: 6px;
    background: rgba(255, 253, 249, 0.86);
    color: var(--ink);
    font-size: 16px;
    font-weight: 400;
    box-shadow: none;
}

input:focus, select:focus, textarea:focus,
.category-select-form select:focus {
    border-color: #8c6936;
    outline: 3px solid rgba(140, 105, 54, 0.18);
}

label, .category-select-form label {
    font-size: 14px;
    text-transform: none;
}

.site-header {
    background: var(--footer) url('../images/author-paper.webp') repeat;
    background-size: 512px 512px;
    background-blend-mode: multiply;
    border-bottom: 1px solid rgba(223, 191, 133, 0.26);
    box-shadow: 0 2px 10px rgba(55, 44, 31, 0.1);
    backdrop-filter: none;
}

.header-inner { gap: 24px; }
.brand { flex-shrink: 0; }
.brand img { width: 240px; }
.brand img, .footer-logo {
    filter: grayscale(1) sepia(1) saturate(1.1) brightness(0.88);
}

.site-nav { gap: 22px; font-weight: 500; }
.site-nav a { color: #f5eee3; }
.site-nav a.active, .site-nav a:hover, .donate-link {
    color: var(--gold) !important;
}
.site-nav a::after { background: var(--gold); height: 1px; }
.language-switch {
    border-color: rgba(223, 191, 133, 0.45);
    background: rgba(255, 250, 240, 0.05);
}
.site-nav .language-switch a.active,
.site-nav .language-switch a:hover {
    background: var(--gold);
    color: #30281f !important;
}
.menu-toggle, .menu-toggle:hover { background: transparent; box-shadow: none; }
.menu-toggle span { background: var(--gold); }

.page-hero {
    display: grid;
    align-items: center;
    min-height: 270px;
    padding: 48px 0 60px;
    background: var(--paper) url('../images/author-landscape.webp') center bottom / cover no-repeat;
    color: var(--text);
}
.page-hero::before { content: none; }
.page-hero h1, .page-hero h2, .page-hero h3 { color: var(--ink); }
.page-hero h1 { margin-bottom: 16px; }
.page-hero p {
    max-width: 820px;
    margin-inline: auto;
    color: #5e5141;
    font-family: var(--heading-font);
    font-size: 21px;
    font-style: italic;
    line-height: 1.5;
}
.page-home .page-hero { min-height: 430px; padding: 65px 0 125px; }
.page-home .page-hero h1 { font-size: 80px; }
.page-home .page-hero .narrow { max-width: 1100px; }

.accent-band {
    background: rgba(217, 199, 169, 0.28);
    color: var(--text);
}
.accent-band h2, .accent-band h3, .accent-band .kicker {
    color: var(--ink);
}
.future-list article {
    border-color: var(--line);
    background: rgba(255, 253, 249, 0.7);
    color: var(--text);
}
.future-list article p { color: var(--text); }

.book-item, .post-card, .related-card, .photo-grid figure,
.future-list article, .book-detail {
    border-color: var(--line);
    border-radius: 6px;
    background: rgba(255, 253, 249, 0.65);
    box-shadow: none;
}
.book-item:hover, .post-card:hover, .related-card:hover,
.photo-grid figure:hover, .future-list article:hover {
    border-color: #b49b73;
    box-shadow: var(--glow);
}
.book-item img, .book-detail img, .post-card img,
.post-card:hover img, .photo-grid img, .photo-grid figure:hover img {
    filter: none;
}
.book-detail { padding: 32px; gap: 40px; grid-template-columns: 250px minmax(0, 1fr); }
.book-detail > div { min-width: 0; }
.book-detail img { border-radius: 4px; box-shadow: var(--shadow); }
.book-detail h2 { font-size: 40px; }
.book-detail-list { gap: 36px; }
.book-list-heading-row { flex-wrap: wrap; }
.book-list-series-info { flex-wrap: wrap; white-space: normal; }
.book-list-series-info span, .book-list-series-info strong { color: var(--ink); }
.books-intro-box {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}
.books-intro-box h2 { font-size: 36px; }
.books-intro-text { column-rule-color: var(--line); }
.book-overview-cover, .course-detail-image { border-color: var(--line); }
.book-reading-section, .book-series-section { border-color: var(--line); }
.book-series-section { background: rgba(217, 199, 169, 0.18); }
.book-availability-note { border-color: var(--amber); background: rgba(217, 199, 169, 0.18); }
.book-blog-links, .book-blog-item, .related-section { border-color: var(--line); }
.book-blog-intro h3, .book-blog-item, .book-series-item h3 { font-size: 24px; }

.post-card { display: flex; flex-direction: column; }
.post-card-body { flex: 1; gap: 12px; padding: 24px; }
.post-card h2 { font-size: 28px; line-height: 1.25; }
.home-post-grid .post-card h2 { font-size: 24px; }
.post-card-body .text-link { margin-top: auto; }
.post-card-image { background: #e9e1d4; }
.category-filter { border-bottom: 1px solid var(--line); padding-bottom: 8px; gap: 12px; }
.category-filter a {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--text);
    padding: 10px 14px;
}
.category-filter a.active, .category-filter a:hover {
    border-color: var(--amber);
    background: transparent;
    color: var(--amber);
}
.pagination a, .pagination span { background: transparent; border-color: var(--line); }
.pagination a:hover, .pagination .active {
    background: var(--amber);
    border-color: var(--amber);
    color: #fffaf2;
}
.category-countdown {
    background: rgba(255, 253, 249, 0.68);
    border-color: var(--line);
    box-shadow: none;
}
.category-countdown-grid span { background: var(--mist); }
.category-preview-label { color: var(--amber); }

.breadcrumb-nav { color: var(--muted); font-weight: 500; }
.breadcrumb-nav a { color: var(--amber); }
.breadcrumb-nav a:hover { color: var(--ink); }
.page-hero .post-meta { color: var(--muted); font-family: var(--content-font); font-size: 14px; font-style: normal; }
.page-hero .post-hero-excerpt { font-size: 23px; }
.single-image-wrap { max-width: 960px; }
.single-image-wrap img { border-radius: 6px; box-shadow: none; }
.single-post .post-rich-content { max-width: 740px; font-size: 18px; line-height: 1.8; }
.single-post .post-rich-content p { font-size: inherit; line-height: inherit; margin-bottom: 28px; }
.article-body h2 { font-size: 34px; }
.article-body h3 { font-size: 26px; }
.article-body .back-button, .article-body .back-button:hover { color: #fffaf2; }
.link-target-tooltip { background: var(--deep); border-color: var(--gold); color: #fffaf2; }

.copy-block, .contact-form, .about-note, .about-soft-card,
.about-value-grid article {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}
.about-intro-grid, .about-work-layout { gap: 56px; }
.about-note, .about-soft-card {
    border-left: 1px solid var(--line);
    padding-left: 34px;
    color: var(--text);
    min-height: 0;
}
.about-note h3, .about-soft-card h3 { color: var(--ink); font-size: 30px; }
.about-note p, .about-soft-card p { color: var(--text); }
.about-value-grid { gap: 32px; }
.about-value-grid article + article { border-left: 1px solid var(--line); padding-left: 32px; }
.about-value-grid article:hover { transform: none; box-shadow: none; }
.about-value-grid h3 { font-size: 26px; }
.about-work-copy .about-list, .about-work-copy .about-list p { border-color: var(--line); }
.about-soft-card p { padding-left: 0; }
.about-soft-card p::before { content: none; }
.about-soft-card-button { margin-top: 12px; }
.portrait-card { background: var(--mist); box-shadow: none; border-color: var(--line); }
.portrait-card figcaption, .portrait-card strong, .portrait-card span { color: var(--text); }

.course-list .course-grid {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: 36px;
    padding-bottom: 40px;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.course-list .course-grid:last-child { border-bottom: 0; padding-bottom: 0; }
.course-list .course-image { border-radius: 6px; height: auto; min-height: 0; width: 100%; object-fit: contain; align-self: start; }
.course-list .course-card { padding: 0; }
.course-list .course-card h2 { font-size: 40px; }
.course-card .kicker { text-transform: none; font-size: 14px; line-height: 1.6; }
.details-list { border: 0; padding: 0; }
.course-list .course-actions { margin-top: 16px; }
.course-detail-panel { background: rgba(255, 253, 249, 0.55); box-shadow: none; border-color: var(--line); }
.course-facts-grid p { background: var(--mist); border-color: var(--line); }

.course-detail-section { padding: 48px 0 64px; }
.course-detail-overview .course-grid {
    grid-template-columns: 370px minmax(0, 1fr);
    gap: 36px;
}
.course-detail-overview .course-grid:last-child {
    padding-bottom: 48px;
    border-bottom: 1px solid var(--line);
}
.course-detail-overview .course-grid.no-media { grid-template-columns: minmax(0, 1fr); }
.course-detail-overview .course-image {
    width: 370px;
    height: 494px;
    object-fit: cover;
    border-radius: 4px;
}
.course-detail-overview .details-list p { margin: 0 0 16px; }
.course-detail-overview .course-actions { margin-top: 28px; }
.course-detail-reading { margin-top: 42px; }
.course-detail-copy { scroll-margin-top: 112px; }
.course-detail-copy h2 { font-size: 32px; margin: 0 0 28px; }
.course-detail-copy .course-description-full {
    max-width: none;
    column-count: 2;
    column-gap: 64px;
    column-fill: balance;
    font-size: 17px;
    line-height: 1.8;
}
.course-detail-copy .course-description-full p {
    font-size: inherit;
    line-height: inherit;
    margin: 0 0 26px;
    break-inside: auto;
    orphans: 3;
    widows: 3;
}
.course-detail-copy .course-description-full img { max-width: 100%; height: auto; }
.course-detail-copy .course-actions { margin-top: 34px; }

.course-impulse-links {
    display: block;
    padding: 0;
    margin-top: 36px;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.course-impulse-links h3 {
    font-family: var(--heading-font);
    font-size: 28px;
    font-weight: 400;
    color: var(--ink);
    margin: 0 0 18px;
}
.course-impulse-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 17px 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
}
.course-impulse-links a:first-of-type { border-top: 1px solid var(--line); }
.course-impulse-links a:hover { color: var(--amber); }
.course-impulse-links a > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.course-impulse-arrow { flex-shrink: 0; color: var(--amber); font-size: 25px; font-weight: 400; }

.contact-grid { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 40px; }
.contact-form label { margin: 4px 0 0; }
.contact-form textarea { min-height: 210px; }
.contact-form > button { justify-self: start; margin-top: 8px; }
.contact-panel { background: rgba(236, 226, 208, 0.26); box-shadow: none; border-color: var(--line); padding: 32px; }
.contact-panel p { margin-bottom: 28px; }
.contact-panel a { overflow-wrap: anywhere; }
.required-marker { color: var(--amber); }
.captcha-field { border: 0; background: transparent; padding: 10px 0 0; }
.captcha-field p { color: var(--muted); }

.site-footer {
    padding: 76px 0 28px;
    background: var(--footer) url('../images/author-paper.webp') repeat;
    background-size: 512px 512px;
    background-blend-mode: multiply;
    color: #eee6d9;
    box-shadow: none;
}
/* The approved footer has texture only, with no landscape overlay. */
.site-footer::before, .site-footer::after { content: none; }
.footer-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.65fr) minmax(0, 1fr) minmax(0, 1.35fr);
    gap: 28px;
}
.footer-grid > * { min-width: 0; }
.footer-logo { width: 260px; }
.footer-brand-block { max-width: none; }
.footer-links, .footer-contact-block { border-left: 1px solid rgba(223, 191, 133, 0.25); padding-left: 24px; }
.site-footer h3 { color: var(--gold); font-size: 14px; }
.footer-lead, .footer-newsletter-block p, .footer-contact-block p,
.footer-goodreads-text, .footer-bottom { color: #eee6d9; }
.site-footer a, .footer-links a, .footer-contact-block a, .footer-bottom a {
    color: #f0e6d5;
    font-weight: 400;
}
.site-footer a:hover { color: var(--gold); }
.footer-contact-block a { overflow-wrap: anywhere; }
.footer-goodreads { border-color: rgba(223, 191, 133, 0.25); }
.footer-goodreads-title { color: var(--gold); }
.site-footer .footer-goodreads-link { color: var(--gold); }
.footer-contact-block span, .footer-newsletter-block label { color: #ccb78f; font-size: 12px; }
.footer-newsletter-block {
    border-color: rgba(223, 191, 133, 0.4);
    border-radius: 6px;
    background: rgba(255, 250, 240, 0.025);
    box-shadow: none;
    padding: 22px;
}
.site-footer .inline-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.site-footer .newsletter-form input {
    width: 100%;
    min-width: 0;
    border-radius: 6px;
    border-color: #a38d6a;
    background: rgba(255, 250, 240, 0.08);
    color: #fffaf2;
    font-size: 14px;
    padding: 0 10px;
}
.site-footer .newsletter-form input::placeholder { color: #c9beb0; }
.site-footer .newsletter-form input:focus { border-color: var(--gold); outline-color: rgba(223, 191, 133, 0.25); }
.site-footer .inline-form button {
    width: auto;
    margin: 0;
    border-radius: 6px;
    background: var(--gold);
    color: #30281f;
    box-shadow: none;
    padding: 10px 12px;
    font-size: 12px;
}
.site-footer .inline-form button:hover { background: var(--sun); color: #30281f; }
.footer-bottom { margin-top: 52px; border-top-color: rgba(223, 191, 133, 0.28); }
.footer-cookie-button, .footer-cookie-button:hover { background: transparent; color: var(--gold); box-shadow: none; }
.notice, .cookie-consent-card, .page-popup-card {
    border-color: var(--line);
    background: var(--paper);
    box-shadow: var(--shadow);
}
.cookie-consent-link, .page-popup-close { color: var(--amber); }
.empty-state { background: rgba(255, 253, 249, 0.6); }

@media (max-width: 1100px) {
    .site-nav { gap: 15px; }
    .brand img { width: 200px; }
    .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
    .footer-newsletter-block { grid-column: auto; }
    .footer-contact-block { border-left: 0; padding-left: 0; }
}

@media (max-width: 980px) {
    .site-nav { background: var(--footer); border-color: var(--line); }
    .site-nav a { border-top-color: rgba(223, 191, 133, 0.22); }
    .book-detail { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .book-detail img { width: min(280px, 100%); margin-inline: auto; }
    .about-intro-grid, .about-work-layout { grid-template-columns: minmax(0, 1fr); gap: 34px; }
    .about-note, .about-soft-card { border-left: 0; border-top: 1px solid var(--line); padding: 28px 0 0; }
    .contact-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; }
    .course-list .course-grid { gap: 28px; }
    .course-list .course-card h2 { font-size: 32px; }
    .course-detail-overview .course-grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
    .course-detail-overview .course-image { width: 100%; height: auto; }
    .course-detail-copy .course-description-full { column-gap: 36px; }
}

@media (max-width: 767px) {
    h1 { font-size: 40px; }
    h2 { font-size: 32px; }
    h3 { font-size: 24px !important; }
    .section { padding: 44px 0; }
    .section-inner { width: 90%; }
    .section-inner p, .article-body, .post-card-body, .contact-panel, .details-list { font-size: 16px; }
    .header-inner { width: 90%; gap: 12px; }
    .brand img { width: 200px; }
    .page-hero { min-height: 250px; padding: 38px 0 55px; }
    .page-hero h1 { font-size: 40px; }
    .page-hero p { font-size: 19px; }
    .page-home .page-hero { min-height: 360px; padding: 50px 0 90px; }
    .page-home .page-hero h1 { font-size: 48px; }
    .page-home .page-hero p { font-size: 20px; }
    .page-hero .post-hero-excerpt { font-size: 21px; }
    .single-post .post-rich-content { font-size: 17px; line-height: 1.78; }
    .article-body { padding: 36px 0 60px; }
    .book-detail { padding: 24px; }
    .book-detail h2 { font-size: 32px; }
    .book-list-series-info { margin-left: 0; font-size: 14px; }
    .book-detail-list { gap: 28px; }
    .books-intro-box { padding: 0; }
    .about-value-grid { gap: 26px; }
    .about-value-grid article + article { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; }
    .about-note, .about-soft-card, .about-work-copy.copy-block { padding-inline: 0; }
    .about-soft-card p { padding-left: 0; }
    .course-list .course-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
    .course-list .course-image { max-width: 400px; margin-inline: auto; }
    .course-list .course-card { padding: 0; }
    .course-detail-overview .course-grid { grid-template-columns: minmax(0, 1fr); }
    .course-detail-overview .course-grid:last-child { padding-bottom: 34px; }
    .course-detail-overview .course-image { width: min(370px, 100%); height: auto; }
    .course-detail-reading { margin-top: 34px; }
    .course-detail-copy .course-description-full { column-count: 1; }
    .course-detail-copy h2 { font-size: 28px; }
    .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .contact-form { padding: 0; }
    .contact-form > button { width: 100%; }
    .contact-panel { padding: 26px; }
    .footer-grid { grid-template-columns: minmax(0, 1fr); width: 90%; gap: 34px; }
    .footer-links, .footer-contact-block { border-left: 0; border-top: 1px solid rgba(223, 191, 133, 0.25); padding: 24px 0 0; }
    .footer-newsletter-block { grid-column: auto; padding: 22px; }
    .site-footer { padding-top: 48px; }
    .site-footer h3 { font-size: 14px !important; }
    .footer-bottom { width: 90%; display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 34px; }
    .footer-bottom span { width: 100%; }
    .footer-cookie-button { padding: 0; min-height: 44px; }
    .post-card h2 { font-size: 27px; }
    .home-book-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; }
}
