@layer reset, base, layout, components, utilities;

@layer reset {
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; }
    ul, ol { margin: 0; padding: 0; }
    img, picture, svg { display: block; max-width: 100%; }
    button, input, textarea, select { font: inherit; }
}

@layer base {
    :root {
        --paper: #fbfac5;
        --paper-soft: #ffffe8;
        --ink: #172017;
        --green: #2d5b25;
        --green-dark: #173c18;
        --acid: #d9ee4d;
        --rose: #d9a7b7;
        --blue: #bcd7de;
        --orange: #ee744c;
        --brick: #ad3d27;
        --white: #fffef5;
        --line: rgba(23, 32, 23, .23);
        --muted: #5f695d;
        --danger: #a12e28;
        --success: #2d5b25;
        --sans: Arial, Helvetica, sans-serif;
        --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
        --shadow: 0 22px 55px rgba(23, 60, 24, .14);
        --radius: .45rem;
        --shell: min(92rem, calc(100vw - 3rem));
    }

    body { min-height: 100vh; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 1rem; line-height: 1.5; text-rendering: optimizeLegibility; }
    a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
    a:hover { color: var(--green); }
    h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: .98; text-wrap: balance; }
    h1 { font-size: clamp(3.2rem, 6.5vw, 7.2rem); letter-spacing: -.055em; }
    h2 { font-size: clamp(2.1rem, 4vw, 4.8rem); letter-spacing: -.045em; }
    h3 { font-size: clamp(1.25rem, 2vw, 2rem); letter-spacing: -.025em; }
    input, textarea, select { width: 100%; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); padding: .85rem 1rem; }
    input:focus, textarea:focus, select:focus, button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
    textarea { resize: vertical; line-height: 1.55; }
    label { display: grid; gap: .42rem; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    button { cursor: pointer; }
}

@layer layout {
    .page-shell { width: var(--shell); margin-inline: auto; }
    .site-header { position: relative; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(251, 250, 197, .96); }
    .header-grid { min-height: 7.5rem; display: grid; grid-template-columns: auto minmax(16rem, 43rem) auto; align-items: center; gap: clamp(1rem, 3vw, 4rem); }
    .brand { display: flex; align-items: center; gap: .8rem; text-decoration: none; }
    .brand-mark { display: grid; place-items: center; width: 4rem; aspect-ratio: 1; background: var(--green); color: var(--paper); font-size: 3.1rem; font-weight: 800; line-height: 1; }
    .brand-name { font-size: .78rem; line-height: .9; text-transform: uppercase; letter-spacing: .18em; font-weight: 700; }
    .header-search { display: grid; grid-template-columns: 1fr 3.2rem; border-bottom: 1px solid var(--ink); }
    .header-search input { border: 0; background: transparent; padding-inline: 0; }
    .header-search button { border: 0; background: transparent; color: var(--green); font-size: 1.5rem; }
    .typeahead-form { position: relative; }
    .typeahead-results { position: absolute; z-index: 120; top: calc(100% + 1px); left: 0; right: 0; max-height: min(30rem, 70vh); overflow-y: auto; background: var(--paper); color: var(--ink); border: 1px solid var(--ink); box-shadow: 0 .8rem 2rem rgba(0,0,0,.16); }
    .typeahead-results[hidden] { display: none; }
    .typeahead-results a { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .8rem; align-items: baseline; padding: .75rem .85rem; color: inherit; text-decoration: none; border-bottom: 1px solid var(--line); }
    .typeahead-results a:last-child { border-bottom: 0; }
    .typeahead-results a:hover, .typeahead-results a.is-active { background: var(--green); color: var(--paper); }
    .typeahead-results strong, .typeahead-results small { display: block; }
    .typeahead-results small { margin-top: .15rem; overflow: hidden; color: var(--muted); font-size: .72rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
    .typeahead-results a:hover small, .typeahead-results a.is-active small { color: inherit; }
    .typeahead-kind { font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .typeahead-empty { margin: 0; padding: .8rem; color: var(--muted); font-size: .8rem; }
    .utility-nav { display: flex; align-items: center; justify-content: end; gap: 1.2rem; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
    .cart-link span { display: inline-grid; place-items: center; min-width: 1.45rem; min-height: 1.45rem; padding: .1rem; border-radius: 50%; background: var(--green); color: var(--paper); text-decoration: none; }
    .primary-nav { display: flex; justify-content: space-between; gap: 2rem; padding-block: 1rem; border-top: 1px solid var(--line); font-size: .76rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
    .primary-nav a { text-decoration: none; }
    .mobile-menu { display: none; }
    main { min-height: 55vh; }
    main[tabindex="-1"]:focus { outline: none; }
    .section { padding-block: clamp(4rem, 8vw, 9rem); }
    .section-sm { padding-block: clamp(2.5rem, 5vw, 5rem); }
    .section-head { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; margin-bottom: 3rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
    .section-head p { max-width: 42rem; color: var(--muted); }
    .book-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3.5rem) clamp(1rem, 2.5vw, 2.5rem); }
    .editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
    .split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
    .narrow { width: min(49rem, calc(100vw - 3rem)); margin-inline: auto; }
    .site-footer { background: var(--green-dark); color: var(--paper); padding-block: 5rem 2rem; }
    .footer-grid { display: grid; grid-template-columns: .9fr 1.3fr .7fr; gap: clamp(2rem, 7vw, 8rem); }
    .footer-a { font: 800 clamp(8rem, 18vw, 18rem)/.65 var(--sans); color: var(--acid); }
    .footer-grid h2 { margin-top: 2rem; }
    .footer-grid h3 { max-width: 30rem; margin-block: 1rem 2rem; font-size: clamp(1.8rem, 3vw, 3.4rem); }
    .footer-signup { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid var(--paper); }
    .footer-signup input { border: 0; background: transparent; color: var(--paper); padding-left: 0; }
    .footer-signup input::placeholder { color: rgba(251, 250, 197, .65); }
    .footer-signup button { border: 0; background: transparent; color: var(--acid); font-weight: 700; }
    .footer-links { display: grid; align-content: start; gap: .65rem; }
    .footer-social { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(251,250,197,.3); }
    .footer-social a { display: inline-flex; align-items: center; gap: .55rem; min-height: 2.5rem; padding: .45rem .7rem; border: 1px solid rgba(251,250,197,.4); color: var(--paper); text-decoration: none; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .footer-social a:hover { border-color: var(--acid); color: var(--acid); }
    .footer-social svg { width: 1.25rem; height: 1.25rem; fill: currentColor; flex: 0 0 auto; }
    .footer-meta { display: flex; justify-content: space-between; gap: 2rem; margin-top: 5rem; padding-top: 1.2rem; border-top: 1px solid rgba(251, 250, 197, .3); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
}

@layer components {
    .eyebrow { color: var(--green); font-size: .69rem; line-height: 1.3; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; }
    .hero { min-height: min(69vh, 49rem); display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .65fr); border-bottom: 1px solid var(--line); overflow: clip; }
    .hero-copy { padding: clamp(3rem, 6vw, 6.5rem) max(1.5rem, calc((100vw - min(92rem, calc(100vw - 3rem))) / 2)); padding-right: clamp(2rem, 6vw, 6rem); display: flex; flex-direction: column; justify-content: center; }
    .hero-copy h1 { margin-block: 1.1rem 1.5rem; }
    .hero-title-link { color: inherit; text-decoration: none; }
    .hero-title-link:hover { color: var(--green); }
    .hero-copy .lead { max-width: 45rem; font: 1.2rem/1.55 var(--serif); }
    .hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.5rem; margin-top: 2.2rem; }
    .hero-visual { position: relative; display: grid; place-items: center; min-width: 0; min-height: 30rem; padding: clamp(2rem, 5vw, 5rem); overflow: hidden; background: var(--brick); }
    .hero-visual::before { content: "A"; position: absolute; inset: auto auto -5vw -1vw; color: rgba(251,250,197,.16); font: 800 clamp(14rem, 30vw, 30rem)/.8 var(--sans); }
    .hero-cover-link { z-index: 1; display: block; width: min(22rem, 70%); transition: transform .2s ease; }
    .hero-cover-link:hover { transform: translateY(-.3rem); }
    .hero-visual .book-cover { width: 100%; transform: rotate(2.5deg); box-shadow: var(--shadow); }
    .button { display: inline-flex; justify-content: center; align-items: center; min-height: 3rem; border: 1px solid var(--green); background: var(--green); color: var(--paper); padding: .75rem 1.2rem; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; text-decoration: none; }
    .button:hover { background: var(--green-dark); color: var(--paper); }
    .button.secondary { background: transparent; color: var(--green); }
    .button.text { background: transparent; color: var(--ink); border-color: transparent; text-decoration: underline; }
    .button.danger { background: var(--danger); border-color: var(--danger); }
    .button.small { min-height: 2.2rem; padding: .45rem .75rem; }
    .text-link { font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .book-card { min-width: 0; display: flex; flex-direction: column; }
    .cover-link { display: block; overflow: hidden; background: var(--paper); }
    .cover-link .book-cover { background: var(--paper); }
    .book-cover { position: relative; width: 100%; aspect-ratio: 3 / 4.2; margin: 0; overflow: hidden; background: linear-gradient(120deg, rgba(45,91,37,.06), rgba(255,255,232,.8), rgba(45,91,37,.06)); }
    .book-cover img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; opacity: 1; transform: none; transition: transform .75s cubic-bezier(.2,.8,.2,1); }
    .image-placeholder { display: none; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 25%, rgba(255,255,255,.55) 45%, transparent 65%); background-size: 250% 100%; animation: shimmer 1.6s infinite; }
    .js .book-cover:not(.is-loaded) .image-placeholder { display: block; }
    .book-cover.is-loaded .image-placeholder { display: none; }
    .missing-cover { height: 100%; display: grid; place-content: center; text-align: center; background: var(--green); color: var(--paper); }
    .missing-cover span { font-size: clamp(5rem, 10vw, 9rem); font-weight: 800; line-height: .8; }
    .missing-cover small { margin-top: 1rem; letter-spacing: .2em; text-transform: uppercase; }
    .cover-link:hover img { transform: scale(1.035); }
    .product-image { position: relative; width: 100%; aspect-ratio: 1; margin: 0; overflow: hidden; background: linear-gradient(135deg, var(--paper-soft), var(--blue)); }
    .product-image img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; opacity: 1; transition: transform .55s cubic-bezier(.2,.8,.2,1); }
    .js .product-image:not(.is-loaded) .image-placeholder { display: block; }
    .product-image.is-loaded .image-placeholder { display: none; }
    .product-image-missing { height: 100%; display: grid; place-content: center; text-align: center; background: var(--green-dark); color: var(--acid); }
    .product-image-missing span { font-size: clamp(5rem, 10vw, 9rem); font-weight: 800; line-height: .75; }
    .product-image-missing small { margin-top: 1rem; color: var(--paper); font-size: .65rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
    .book-card-copy { display: flex; flex-direction: column; flex: 1; padding-top: 1.1rem; }
    .book-card h3 { margin-block: .45rem .35rem; }
    .book-card h3 a { text-decoration: none; }
    .creator { color: var(--muted); font: italic 1rem/1.35 var(--serif); }
    .creator a, .product-author a { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: .2em; }
    .person-card { display: flex; flex-direction: column; gap: .8rem; }
    .person-card h2 { font-size: clamp(2rem, 2.75vw, 3.15rem); line-height: 1; letter-spacing: -.035em; }
    .person-portrait { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: .4rem; }
    .person-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, 24rem); align-items: center; gap: clamp(2rem, 6vw, 7rem); }
    .person-header h1 { max-width: 12ch; font-size: clamp(3.2rem, 5.8vw, 6.2rem); text-align: left; text-wrap: pretty; }
    .person-portrait-large { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
    .person-biography { width: min(52rem, 100%); margin-inline: 0; }
    .person-detail .section-head h2 { font-size: clamp(2.4rem, 3.6vw, 4rem); }
    .people-list h3 { margin-top: .5rem; }
    .people-list h3 a { text-decoration-thickness: .055em; text-underline-offset: .14em; }
    .person-work-summary { margin-top: .65rem; }
    .person-work-list { margin: .55rem 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
    .person-work-list li { padding-block: .65rem; border-bottom: 1px solid var(--line); }
    .person-work-list a { display: block; font: 500 1rem/1.25 var(--serif); text-decoration-thickness: .055em; text-underline-offset: .14em; }
    .person-work-list span { display: block; margin-top: .22rem; color: var(--muted); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .person-work-more { margin-top: .55rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .person-editorial-list { border-top: 1px solid var(--line); }
    .person-editorial-list article { display: grid; grid-template-columns: 10rem minmax(15rem, .85fr) minmax(18rem, 1.15fr); gap: clamp(1rem, 4vw, 4rem); padding-block: 1.5rem; border-bottom: 1px solid var(--line); }
    .person-editorial-list h3 a { text-decoration-thickness: .055em; }
    .person-picker { min-width: 0; }
    .field-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .42rem; }
    .picker-add { flex: 0 0 auto; display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; padding: 0; border: 1px solid var(--green); background: transparent; color: var(--green); font-size: 1.15rem; line-height: 1; text-decoration: none; }
    .picker-add:hover { background: var(--green); color: var(--paper); }
    .person-picker select[multiple] { min-height: 10rem; }
    .person-picker-open, .person-picker-summary { display: none; }
    .js .person-picker-fallback-create, .js .person-picker-fallback-help { display: none; }
    .js .person-picker-open { display: inline-flex; }
    .js .person-picker .picker-add.person-picker-open { display: inline-grid; }
    .js .person-picker select[data-person-select] { display: none; }
    .js .person-picker-summary { min-height: 3.15rem; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .55rem; border: 1px solid var(--line); background: var(--white); }
    .person-picker-empty { padding-inline: .35rem; color: var(--muted); font-size: .82rem; }
    .person-chip { display: inline-flex; align-items: center; gap: .45rem; min-height: 2rem; padding: .35rem .45rem .35rem .7rem; border: 1px solid var(--green); background: color-mix(in srgb, var(--green) 8%, var(--white)); color: var(--ink); font-size: .82rem; font-weight: 700; }
    .person-chip button { width: 1.35rem; height: 1.35rem; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: var(--green); font-size: 1.15rem; line-height: 1; }
    .person-picker-summary + .person-picker-open { margin-top: .55rem; }
    .person-picker-chooser { position: relative; z-index: 3; margin-top: .75rem; padding: 1rem; border: 1px solid var(--green); background: var(--paper-soft); box-shadow: var(--shadow); }
    .person-picker-chooser[hidden] { display: none; }
    .person-picker-chooser-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
    .person-picker-chooser-head h3 { margin-top: .2rem; font-size: 1.7rem; }
    .person-picker-chooser-head > button { width: 2rem; height: 2rem; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); background: transparent; font-size: 1.35rem; }
    .person-picker-search { letter-spacing: .06em; }
    .person-picker-search input { margin-top: .35rem; text-transform: none; letter-spacing: 0; }
    .person-picker-results { max-height: 16rem; overflow-y: auto; margin-block: .6rem 1rem; border-block: 1px solid var(--line); background: var(--white); }
    .person-picker-results > .field-help { padding: .8rem; }
    .person-picker-result { width: 100%; display: block; padding: .7rem .8rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; }
    .person-picker-result:last-child { border-bottom: 0; }
    .person-picker-result:hover, .person-picker-result:focus-visible { background: var(--green); color: var(--paper); }
    .person-picker-create { margin-block: 1rem; padding-block: 1rem; border-block: 1px solid var(--line); }
    .person-picker-create h4 { margin-top: .2rem; font: 500 1.35rem/1.1 var(--serif); }
    .person-picker-create-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; margin-top: .75rem; }
    .person-picker-create-row .button { white-space: nowrap; }
    .person-picker-create .field-help { min-height: 1.2rem; margin-top: .45rem; }
    .contributor-role-section { margin-top: .5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
    .contributor-role-heading { max-width: 48rem; margin-bottom: 1.25rem; }
    .contributor-role-heading h2 { margin-block: .35rem .55rem; }
    .contributor-role-heading > p:last-child { color: var(--muted); }
    .contributor-role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1rem; }
    .contributor-role-grid .person-picker select[multiple] { min-height: 8rem; }
    .card-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.2rem; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
    .shop-index-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; padding-block: clamp(4rem, 9vw, 9rem) clamp(3rem, 6vw, 6rem); }
    .shop-index-hero h1 { max-width: 10ch; margin-block: 1rem 2rem; font-size: clamp(3.2rem, 5.5vw, 5.8rem); }
    .shop-books-cta { position: relative; min-height: 19rem; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 3vw, 3rem); overflow: hidden; background: var(--rose); color: var(--ink); text-decoration: none; }
    .shop-books-cta::after { content: "A"; position: absolute; right: -1.5rem; bottom: -3rem; color: rgba(23,32,23,.08); font: 800 15rem/.75 var(--sans); }
    .shop-books-cta strong { position: relative; z-index: 1; max-width: 9ch; font: 500 clamp(2.2rem, 4vw, 4.2rem)/.92 var(--serif); }
    .shop-books-cta > span:last-child { position: relative; z-index: 1; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .shop-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem) clamp(1rem, 2vw, 2rem); }
    .shop-product-card { min-width: 0; display: flex; flex-direction: column; }
    .shop-product-image-link { position: relative; display: block; overflow: hidden; background: var(--paper-soft); }
    .shop-product-image-link:hover .product-image img { transform: scale(1.04); }
    .shop-product-badge { position: absolute; z-index: 3; top: .75rem; left: .75rem; padding: .35rem .55rem; background: var(--acid); color: var(--green-dark); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .shop-product-card-copy { flex: 1; display: flex; flex-direction: column; padding-top: 1.1rem; }
    .shop-product-card-copy h3 { margin-block: .45rem .6rem; }
    .shop-product-card-copy h3 a { text-decoration: none; }
    .shop-product-card-copy > p:not(.eyebrow) { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: .9rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .shop-empty-state { min-height: 26rem; display: grid; grid-template-columns: minmax(12rem, .6fr) minmax(0, 1.4fr); align-items: center; gap: clamp(2rem, 6vw, 7rem); padding: clamp(2rem, 5vw, 5rem); background: var(--green-dark); color: var(--paper); }
    .shop-empty-state > span { color: var(--acid); font: 800 clamp(9rem, 18vw, 18rem)/.7 var(--sans); }
    .shop-empty-state h2 { max-width: 12ch; margin-block: .6rem 1rem; }
    .shop-product-hero { display: grid; grid-template-columns: minmax(20rem, .9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 8vw, 9rem); align-items: start; padding-block: clamp(3rem, 7vw, 7rem); }
    .shop-product-gallery { position: sticky; top: 2rem; padding: clamp(1.5rem, 4vw, 4rem); background: var(--blue); }
    .shop-product-gallery > .product-image { box-shadow: var(--shadow); }
    .shop-product-thumbnails { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-top: 1rem; }
    .shop-product-thumbnails img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--paper-soft); }
    .shop-product-copy { padding-top: clamp(1rem, 4vw, 4rem); }
    .shop-product-copy h1 { margin-block: .8rem 1.3rem; font-size: clamp(3.2rem, 5.5vw, 6.2rem); }
    .shop-product-copy .buy-panel { margin-top: 2.5rem; }
    .shop-product-meta { margin-top: 0; }
    .shop-product-description { width: min(52rem, 100%); margin-inline: auto; padding-top: 1rem; }
    .admin-product-images { display: grid; grid-template-columns: repeat(6, minmax(5rem, 1fr)); gap: .75rem; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
    .admin-product-images img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--white); border: 1px solid var(--line); }
    .editorial-card { min-height: 24rem; background: var(--paper-soft); padding: clamp(1.5rem, 3vw, 3rem); display: flex; flex-direction: column; }
    .editorial-card:nth-child(3n+2) { background: var(--blue); }
    .editorial-card:nth-child(3n+3) { background: var(--rose); }
    .editorial-card h3 { margin-block: 1rem; font-size: clamp(1.8rem, 3vw, 3.4rem); }
    .editorial-card h3 a { text-decoration: none; }
    .editorial-card .text-link { margin-top: auto; padding-top: 2rem; }
    .series-theme-codex { --series-accent: #171b16; --series-highlight: var(--acid); }
    .series-theme-gaia { --series-accent: #2d5b25; --series-highlight: var(--acid); }
    .series-theme-gondal { --series-accent: #643457; --series-highlight: #f4c9d8; }
    .series-theme-malstroem { --series-accent: #a83c25; --series-highlight: #ffd5a8; }
    .series-theme-jena { --series-accent: #315a78; --series-highlight: #d7edf3; }
    .series-theme-default { --series-accent: var(--green-dark); --series-highlight: var(--acid); }
    .series-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
    .series-grid-columns-1 { grid-template-columns: 1fr; }
    .series-grid-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .series-grid-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .series-grid-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .series-card { position: relative; min-height: 19rem; display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: 1.4rem; overflow: hidden; background: var(--series-accent, var(--green)); color: var(--series-foreground, var(--paper)); text-decoration: none; transition: filter .2s ease, transform .2s ease; }
    .series-card::after { content: "A"; position: absolute; right: -1rem; bottom: -3rem; color: rgba(255,255,255,.08); font: 800 13rem/.8 var(--sans); pointer-events: none; }
    .series-card .eyebrow { color: var(--series-highlight, var(--acid)); }
    .series-card strong { position: relative; z-index: 1; max-width: 8ch; font: 500 clamp(2rem, 3.2vw, 3.8rem)/.95 var(--serif); }
    .series-card > span:last-child { position: relative; z-index: 1; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .series-card:hover { color: var(--series-foreground, var(--paper)); filter: brightness(1.12); transform: translateY(-.2rem); }
    .series-index-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; padding-block: clamp(4rem, 8vw, 8rem) clamp(3rem, 6vw, 6rem); }
    .series-index-heading h1 { max-width: 10ch; margin-block: 1rem 2rem; font-size: clamp(3.6rem, 6.5vw, 7.2rem); }
    .series-index-heading .article-deck { max-width: 48rem; }
    .series-index-count { min-height: 20rem; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding: clamp(1.5rem, 3vw, 3rem); background: var(--green-dark); color: var(--paper); }
    .series-index-count strong { color: var(--acid); font: 500 clamp(6rem, 10vw, 10rem)/.72 var(--serif); letter-spacing: -.07em; }
    .series-index-count span { max-width: 13rem; margin-block: 1.5rem 2.5rem; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .series-index-count a { color: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .series-jump-nav { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; padding-block: 1rem; border-block: 1px solid var(--line); }
    .series-jump-nav > span { margin-right: .6rem; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .series-jump-nav a { padding: .45rem .7rem; border: 1px solid var(--line); background: var(--paper-soft); font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
    .series-jump-nav a:hover { border-color: var(--green); background: var(--green); color: var(--paper); }
    .series-showcase { padding-block: clamp(3rem, 6vw, 7rem); }
    .series-showcase-item { display: grid; grid-template-columns: minmax(20rem, .78fr) minmax(0, 1.22fr); min-height: 36rem; margin-bottom: clamp(1.25rem, 2vw, 2rem); overflow: hidden; border: 1px solid var(--line); scroll-margin-top: 1rem; }
    .series-showcase-item:nth-child(even) .series-showcase-copy { order: 2; }
    .series-showcase-item:nth-child(even) .series-preview { order: 1; }
    .series-showcase-copy { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 4vw, 4rem); overflow: hidden; background: var(--series-accent); color: var(--series-foreground, var(--paper)); }
    .series-showcase-copy .eyebrow { color: var(--series-highlight); }
    .series-showcase-copy h2 { position: relative; margin-block: .55rem 1rem; font-size: clamp(3.2rem, 5.5vw, 5.8rem); letter-spacing: -.055em; }
    .series-showcase-copy h2 a { color: inherit; text-decoration: none; }
    .series-number { align-self: flex-end; color: rgba(255,255,255,.2); font: 500 clamp(4rem, 7vw, 8rem)/.75 var(--serif); letter-spacing: -.08em; }
    .series-tagline { max-width: 24rem; color: var(--series-highlight); font: italic clamp(1.2rem, 2vw, 1.65rem)/1.25 var(--serif); }
    .series-teaser { max-width: 36rem; margin-top: 1.5rem; color: rgba(255,255,255,.82); }
    .series-showcase-link { display: inline-flex; gap: .8rem; align-items: center; margin-top: 2.2rem; padding-bottom: .35rem; border-bottom: 1px solid currentColor; color: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
    .series-showcase-link span { transition: transform .2s ease; }
    .series-showcase-link:hover { color: var(--series-highlight); }
    .series-showcase-link:hover span { transform: translateX(.35rem); }
    .series-preview { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.7rem, 2vw, 1.5rem); align-items: center; padding: clamp(2rem, 5vw, 5rem); overflow: hidden; background: color-mix(in srgb, var(--series-accent) 14%, var(--paper-soft)); }
    .series-preview::before { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border: clamp(2rem, 6vw, 6rem) solid color-mix(in srgb, var(--series-accent) 12%, transparent); border-radius: 50%; left: 15%; top: 8%; }
    .series-preview-book { position: relative; z-index: 1; min-width: 0; color: var(--ink); text-decoration: none; transition: transform .25s ease; }
    .series-preview-book:nth-child(1) { transform: rotate(-4deg) translateY(1rem); }
    .series-preview-book:nth-child(2) { z-index: 2; transform: scale(1.08) translateY(-.6rem); }
    .series-preview-book:nth-child(3) { transform: rotate(4deg) translateY(1rem); }
    .series-preview-book:hover { z-index: 3; transform: translateY(-.65rem) scale(1.04); }
    .series-preview-book .book-cover { background: var(--paper); box-shadow: 0 1.1rem 2.5rem rgba(23,32,23,.23); }
    .series-preview-book > span { display: block; margin-top: 1rem; overflow: hidden; font: 500 .95rem/1.15 var(--serif); text-align: center; text-overflow: ellipsis; white-space: nowrap; }
    .series-preview-empty { z-index: 1; grid-column: 1 / -1; justify-self: center; color: var(--series-accent); text-align: center; text-decoration: none; }
    .series-preview-empty span { display: block; font: 800 10rem/.8 var(--sans); }
    .series-preview-empty strong { display: block; margin-top: 1rem; text-transform: uppercase; }
    .series-index-footer { margin-bottom: clamp(4rem, 8vw, 9rem); padding: clamp(2rem, 5vw, 5rem); border: 1px solid var(--green); background: var(--acid); }
    .series-index-footer h2 { max-width: 14ch; margin-block: .7rem 1rem; }
    .series-index-footer > p:not(.eyebrow) { max-width: 40rem; margin-bottom: 2rem; }
    .series-detail-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr); min-height: min(46rem, 78vh); margin-block: clamp(2rem, 4vw, 4rem); overflow: hidden; border: 1px solid var(--line); background: var(--series-accent); }
    .series-detail-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(2rem, 6vw, 6rem); color: var(--series-foreground, var(--paper)); }
    .series-detail-copy .eyebrow { color: var(--series-highlight); }
    .series-back-link { margin-bottom: auto; color: inherit; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .series-detail-copy h1 { margin-block: 1rem .7rem; font-size: clamp(4rem, 6.5vw, 7.2rem); }
    .series-detail-tagline { color: var(--series-highlight); font: italic clamp(1.4rem, 2.5vw, 2.1rem)/1.25 var(--serif); }
    .series-detail-intro { max-width: 43rem; margin-block: 2rem; color: rgba(255,255,255,.84); font-size: 1.05rem; }
    .series-detail-copy .button { margin-top: auto; border-color: var(--paper); background: var(--paper); color: var(--series-accent); }
    .series-detail-preview { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: clamp(.5rem, 1.5vw, 1.2rem); padding: clamp(2rem, 5vw, 5rem); background: color-mix(in srgb, var(--series-accent) 12%, var(--paper-soft)); }
    .series-detail-preview::after { content: "A"; position: absolute; right: -2rem; bottom: -3rem; color: color-mix(in srgb, var(--series-accent) 10%, transparent); font: 800 clamp(14rem, 28vw, 28rem)/.7 var(--sans); }
    .series-detail-preview-book { position: relative; z-index: 1; transition: transform .2s ease; }
    .series-detail-preview-book:nth-child(1) { transform: rotate(-5deg) translateY(1.2rem); }
    .series-detail-preview-book:nth-child(2) { z-index: 2; transform: scale(1.08) translateY(-.5rem); }
    .series-detail-preview-book:nth-child(3) { transform: rotate(5deg) translateY(1.2rem); }
    .series-detail-preview-book:hover { z-index: 3; transform: translateY(-.6rem) scale(1.04); }
    .series-detail-preview-book .book-cover { background: var(--paper); box-shadow: 0 1.2rem 3rem rgba(23,32,23,.24); }
    .series-coming-soon { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 5rem); margin-bottom: clamp(1rem, 3vw, 3rem); padding: 1.5rem 0; border-block: 1px solid var(--line); }
    .series-coming-soon p:last-child { max-width: 62rem; color: var(--muted); font: 1.05rem/1.55 var(--serif); }
    .prose { font: 1.1rem/1.75 var(--serif); }
    .prose > * + * { margin-top: 1.4em; }
    .prose h2 { margin-top: 1.5em; font-size: clamp(2rem, 4vw, 4rem); }
    .prose h3 { margin-top: 1.5em; }
    .prose blockquote { margin-block: 2em; padding: 1.5em 0 1.5em 1.5em; border-left: .35rem solid var(--green); color: var(--green); font-size: 1.35em; }
    .prose ul, .prose ol { padding-left: 1.4em; }
    .prose a { color: var(--green); }
    .article-header { padding-block: clamp(4rem, 9vw, 10rem) 3rem; border-bottom: 1px solid var(--line); }
    .article-header h1 { max-width: 75rem; margin-block: 1rem 2rem; }
    .article-deck { max-width: 55rem; font: clamp(1.25rem, 2vw, 1.8rem)/1.45 var(--serif); }
    .article-meta { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2rem; color: var(--muted); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
    .article-body { padding-block: clamp(3rem, 7vw, 7rem); }
    .product-hero { display: grid; grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 8vw, 10rem); align-items: start; padding-block: clamp(3rem, 7vw, 8rem); }
    .product-cover-panel { position: sticky; top: 2rem; min-width: 0; padding: clamp(1.5rem, 4vw, 4rem); overflow: hidden; background: var(--rose); }
    .product-cover-panel .book-cover { box-shadow: var(--shadow); }
    .product-copy h1 { margin-block: .8rem 1.2rem; font-size: clamp(3.2rem, 5.8vw, 6.5rem); }
    .product-subtitle { max-width: 34rem; margin: -.45rem 0 1.1rem; color: var(--muted); font: 500 clamp(1.25rem, 2.1vw, 1.9rem)/1.25 var(--serif); text-wrap: balance; }
    .product-author { font: italic clamp(1.4rem, 2.4vw, 2.3rem)/1.2 var(--serif); }
    .product-kicker { max-width: 45rem; margin-top: 2rem; font: 1.2rem/1.55 var(--serif); }
    .book-description { width: min(49rem, 100%); margin-top: clamp(2rem, 4vw, 3.5rem); padding-top: 1.25rem; border-top: 1px solid var(--line); }
    .book-series-link { margin-top: 1.75rem; }
    .buy-panel { margin-block: 2.5rem; padding-block: 1.5rem; border-block: 1px solid var(--line); }
    .buy-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; }
    .buy-row label { width: 5rem; }
    .price-large { margin-right: auto; font: 500 2rem/1 var(--serif); }
    .metadata { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2rem; margin-block: 2rem; border-top: 1px solid var(--line); }
    .metadata div { display: flex; justify-content: space-between; gap: 1rem; padding-block: .75rem; border-bottom: 1px solid var(--line); }
    .metadata dt { color: var(--muted); }
    .metadata dd { text-align: right; }
    .external-links { display: flex; flex-wrap: wrap; gap: .7rem; margin-block: 2rem; }
    .external-links a { display: inline-flex; padding: .65rem .9rem; border: 1px solid var(--line); background: var(--paper-soft); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .book-reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
    .book-review { min-height: 15rem; display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 3rem); background: var(--paper-soft); }
    .book-review p { font: 500 clamp(1.35rem, 2.2vw, 2rem)/1.35 var(--serif); }
    .book-review footer { margin-top: auto; padding-top: 2rem; }
    .book-review footer a { color: var(--green); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .book-review-editor { margin-top: .5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
    .book-review-editor-list { display: grid; gap: .75rem; margin-bottom: .75rem; }
    .book-review-editor-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; padding: 1rem; border: 1px solid var(--line); background: var(--white); }
    .book-review-editor-row .full { grid-column: 1; }
    .book-review-editor-row [data-review-remove] { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
    .publisher-staff-list { display: grid; gap: .75rem; margin-block: 1.25rem; }
    .publisher-staff-row { display: grid; grid-template-columns: minmax(13rem, .85fr) minmax(13rem, 1.15fr) auto; gap: .75rem; align-items: end; padding: 1rem; border: 1px solid var(--line); background: var(--white); }
    .publisher-staff-actions { display: flex; gap: .4rem; }
    .publisher-staff-actions .button { min-width: 2.35rem; padding-inline: .6rem; }
    .event-card { display: grid; grid-template-columns: 8rem 1fr; gap: 2rem; padding-block: 2rem; border-top: 1px solid var(--line); }
    .event-date { aspect-ratio: 1; display: grid; place-content: center; text-align: center; background: var(--green); color: var(--paper); text-decoration: none; }
    .event-date span { font: 500 3.5rem/.8 var(--serif); }
    .event-date small { margin-top: .6rem; letter-spacing: .14em; text-transform: uppercase; }
    .event-card h3 { margin-block: .6rem .8rem; }
    .event-card h3 a { text-decoration: none; }
    .event-card p:not(.eyebrow) { max-width: 45rem; margin-bottom: 1rem; }
    .event-detail { margin-block: 2rem; padding: 2rem; background: var(--blue); }
    .event-detail dl { display: grid; grid-template-columns: auto 1fr; gap: .6rem 1.5rem; }
    .event-detail dt { font-weight: 700; }
    .podcast-index-header { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; }
    .podcast-index-header h1 { max-width: 10ch; font-size: clamp(3.4rem, 6vw, 6.2rem); }
    .podcast-index-header .article-deck { align-self: end; }
    .podcast-index-facts { grid-column: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 1rem; background: var(--line); border: 1px solid var(--line); }
    .podcast-index-facts div { display: grid; gap: .25rem; padding: 1rem 1.2rem; background: var(--paper-soft); }
    .podcast-index-facts dt { color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .podcast-index-facts dd { font: 500 2.2rem/1 var(--serif); }
    .podcast-themes .section-head > p { align-self: end; }
    .podcast-theme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
    .podcast-theme-card { display: grid; grid-template-columns: minmax(11rem, .8fr) minmax(0, 1.2fr); min-height: 30rem; background: var(--paper-soft); }
    .podcast-theme-art { min-height: 100%; overflow: hidden; background: var(--green-dark); color: var(--acid); text-decoration: none; }
    .podcast-theme-art img { width: 100%; height: 100%; object-fit: cover; }
    .podcast-theme-art > span { height: 100%; display: grid; place-items: center; font: 800 clamp(8rem, 15vw, 14rem)/1 var(--sans); }
    .podcast-theme-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, 3vw, 3rem); }
    .podcast-theme-copy h2 { margin-block: .75rem 1.2rem; font-size: clamp(2.3rem, 3.8vw, 4rem); }
    .podcast-theme-copy > p:not(.eyebrow) { color: var(--muted); font: 1rem/1.55 var(--serif); }
    .podcast-theme-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: auto; padding-top: 2rem; }
    .podcast-theme-copy small { margin-top: 1rem; color: var(--muted); font-size: .67rem; letter-spacing: .06em; text-transform: uppercase; }
    .spotify-button { border-color: #1ed760; background: #1ed760; color: #0c2615; }
    .spotify-button:hover { border-color: #18b950; background: #18b950; color: #07180d; }
    .podcast-index { padding-top: clamp(2rem, 5vw, 5rem); }
    .podcast-list { border-top: 1px solid var(--line); }
    .podcast-list-item { display: grid; grid-template-columns: 9rem minmax(0, 1.15fr) minmax(18rem, .85fr); gap: clamp(1.5rem, 3.5vw, 4rem); align-items: start; padding-block: clamp(2rem, 3.5vw, 3.5rem); border-bottom: 1px solid var(--line); }
    .podcast-list-item-compact { grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); }
    .podcast-list-art { width: 100%; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; background: var(--green-dark); color: var(--acid); text-decoration: none; }
    .podcast-list-art img { width: 100%; height: 100%; object-fit: cover; }
    .podcast-list-art span { font: 800 2.6rem/1 var(--sans); }
    .podcast-list-title h3 { max-width: 22ch; margin-top: .55rem; font-size: clamp(1.8rem, 2.8vw, 3.1rem); line-height: 1.04; }
    .podcast-list-title h3 a { text-decoration-thickness: .055em; text-underline-offset: .13em; }
    .podcast-meta-list { display: flex; flex-wrap: wrap; gap: .35rem 1.2rem; margin-top: 1rem; color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .07em; list-style: none; text-transform: uppercase; }
    .podcast-meta-list li + li::before { content: "·"; margin-right: 1.2rem; }
    .podcast-people { margin-top: 1rem; color: var(--muted); font: italic 1rem/1.4 var(--serif); }
    .podcast-list-copy { display: grid; justify-items: start; gap: 1.25rem; color: var(--muted); }
    .podcast-list-copy > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 6; }
    .podcast-book-link { color: var(--green); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
    .podcast-article .article-header { padding-top: clamp(3.5rem, 7vw, 7rem); }
    .podcast-detail-header { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .55fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: center; }
    .podcast-article .article-header h1 { max-width: 18ch; font-size: clamp(3.2rem, 5vw, 5.7rem); text-wrap: pretty; }
    .podcast-article .article-deck { max-width: 46rem; font-size: clamp(1.15rem, 1.7vw, 1.55rem); }
    .podcast-detail-art { aspect-ratio: 1; overflow: hidden; background: var(--green-dark); box-shadow: var(--shadow); }
    .podcast-detail-art img { width: 100%; height: 100%; object-fit: cover; }
    .podcast-platform-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
    .podcast-player { margin-block: 0 3rem; padding-block: 1.4rem; border-block: 1px solid var(--green); color: var(--ink); }
    .podcast-player-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
    .podcast-player-heading h2 { margin-top: .3rem; font-size: clamp(1.8rem, 3vw, 2.8rem); }
    .podcast-player-heading > span { color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
    .podcast-player audio { width: 100%; margin-block: 1rem .5rem; accent-color: var(--green); }
    .podcast-player .text-link { display: inline-block; margin-top: .65rem; }
    .podcast-provenance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: -1.5rem 0 3rem; border: 1px solid var(--line); background: var(--line); }
    .podcast-provenance div { padding: .9rem 1rem; background: var(--paper-soft); }
    .podcast-provenance dt { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .podcast-provenance dd { margin-top: .25rem; font: 500 1rem/1.25 var(--serif); }
    .podcast-related-book { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; margin-bottom: 3rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--paper-soft); }
    .podcast-related-book h2 { max-width: 14ch; margin-block: .45rem; font-size: clamp(2rem, 4vw, 3.6rem); }
    .podcast-related-book h2 a { text-decoration: none; }
    .filters { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2.5rem; }
    .filters a { padding: .55rem .8rem; border: 1px solid var(--line); text-decoration: none; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
    .filters a:hover, .filters a.active { background: var(--green); color: var(--paper); }
    .search-hero { padding-block: clamp(3rem, 7vw, 7rem); }
    .search-hero form { display: grid; grid-template-columns: 1fr auto; margin-top: 2rem; border-bottom: 2px solid var(--ink); }
    .search-hero input { border: 0; background: transparent; padding-left: 0; font: clamp(1.4rem, 3vw, 2.6rem)/1 var(--serif); }
    .search-hero button { border: 0; background: transparent; font-size: 2rem; color: var(--green); }
    .form-card { padding: clamp(1.5rem, 4vw, 3.5rem); background: var(--paper-soft); border: 1px solid var(--line); }
    .form-card h2, .form-card h1 { margin-bottom: 1.5rem; }
    .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .form-grid .full { grid-column: 1 / -1; }
    .form-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
    .field-help { color: var(--muted); font-size: .78rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
    .validation-message, .validation-summary-errors { color: var(--danger); font-size: .85rem; }
    .notice { margin-block: 1rem; padding: 1rem 1.2rem; border-left: .3rem solid var(--green); background: rgba(45,91,37,.08); }
    .notice.error { border-color: var(--danger); background: rgba(161,46,40,.08); }
    .checkbox { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .75rem; text-transform: none; letter-spacing: 0; font-weight: 400; }
    .checkbox input { width: 1.2rem; margin-top: .2rem; }
    .cart-list { border-top: 1px solid var(--line); }
    .cart-row { display: grid; grid-template-columns: 6rem 1fr 7rem 8rem; gap: 1.5rem; align-items: center; padding-block: 1rem; border-bottom: 1px solid var(--line); }
    .cart-row .book-cover, .cart-row .product-image { width: 6rem; }
    .cart-row h3 { font-size: 1.4rem; }
    .cart-row input { max-width: 6rem; }
    .cart-summary { max-width: 30rem; margin: 2rem 0 0 auto; }
    .cart-summary div { display: flex; justify-content: space-between; padding-block: .6rem; border-bottom: 1px solid var(--line); }
    .cart-summary .total { font: 500 1.7rem/1.2 var(--serif); }
    .delivery-choice { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; align-items: start; padding: 1.2rem; border: 1px solid var(--green); background: rgba(45,91,37,.07); }
    .delivery-choice > span { display: grid; place-items: center; width: 2.2rem; aspect-ratio: 1; border-radius: 50%; background: var(--green); color: var(--paper); font-weight: 800; }
    .delivery-choice strong { display: block; margin-bottom: .2rem; }
    .delivery-choice p { color: var(--muted); font-size: .88rem; }
    .alternate-address { margin-top: 1.25rem; padding: 1.25rem; border-left: .3rem solid var(--green); background: var(--white); }
    .alternate-address[hidden] { display: none; }
    .alternate-address h3 { margin-bottom: 1.2rem; }
    .checkout-order-summary { position: sticky; top: 1rem; }
    .checkout-order-summary > ul { list-style: none; margin-block: 1.5rem; border-top: 1px solid var(--line); }
    .checkout-order-summary > ul li { display: flex; justify-content: space-between; gap: 1rem; padding-block: .75rem; border-bottom: 1px solid var(--line); }
    .checkout-order-summary > ul small { display: block; color: var(--muted); }
    .checkout-order-summary .cart-summary { margin-top: 1rem; }
    .order-total-banner { display: flex; justify-content: space-between; gap: 2rem; align-items: baseline; padding: 1.3rem 1.5rem; background: var(--green-dark); color: var(--paper); }
    .order-total-banner span { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .order-total-banner strong { color: var(--acid); font: 500 clamp(2rem, 4vw, 3.5rem)/1 var(--serif); }
    .cookie-banner { position: fixed; z-index: 100; inset: auto 1rem .75rem 1rem; width: min(64rem, calc(100vw - 2rem)); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: .75rem .85rem; background: var(--green-dark); color: var(--paper); border: 1px solid color-mix(in srgb, var(--paper) 45%, transparent); box-shadow: 0 .4rem 1.5rem rgba(0,0,0,.18); }
    .cookie-copy { display: flex; gap: .7rem; align-items: baseline; min-width: 0; }
    .cookie-copy strong { flex: 0 0 auto; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
    .cookie-copy p { margin: 0; max-width: 46rem; font-size: .78rem; line-height: 1.4; }
    .cookie-banner a { color: inherit; }
    .cookie-banner form { display: flex; flex-wrap: nowrap; gap: .4rem; align-items: center; }
    .cookie-action { min-height: 2.25rem; padding: .45rem .65rem; border: 1px solid color-mix(in srgb, var(--paper) 65%, transparent); background: transparent; color: var(--paper); font: 700 .65rem/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
    .cookie-action.primary { background: var(--paper); color: var(--green-dark); }
    .cookie-link { padding: .45rem .35rem; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
    .markdown-editor { border: 1px solid var(--line); background: var(--white); }
    .markdown-toolbar { display: flex; flex-wrap: wrap; gap: .25rem; padding: .45rem; border-bottom: 1px solid var(--line); background: rgba(45,91,37,.07); }
    .markdown-toolbar button { min-width: 2.4rem; border: 1px solid var(--line); background: var(--white); padding: .35rem .5rem; font-weight: 700; }
    .markdown-reference-picker { padding: .8rem; border-bottom: 1px solid var(--line); background: var(--paper); }
    .markdown-reference-picker[hidden] { display: none; }
    .markdown-reference-picker > label { display: inline-grid; width: min(18rem, 100%); margin: 0 .6rem .6rem 0; }
    .markdown-reference-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 18rem; overflow-y: auto; border: 1px solid var(--line); background: var(--white); }
    .markdown-reference-results button { display: grid; gap: .15rem; padding: .65rem .8rem; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; text-align: left; }
    .markdown-reference-results button:hover { background: rgba(45,91,37,.08); }
    .markdown-reference-results small { color: var(--muted); font-weight: 400; }
    .markdown-editor textarea { min-height: 19rem; border: 0; font-family: Consolas, "Courier New", monospace; font-size: .9rem; }
    .markdown-editor .field-help { margin: 0; padding: .6rem .8rem; border-top: 1px solid var(--line); }
    .media-library { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
    .media-library-item { min-width: 0; display: grid; gap: .9rem; align-content: start; padding: 1rem; border: 1px solid var(--line); background: var(--paper-soft); }
    .media-library-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: var(--paper); }
    .media-library-item code { display: block; margin-top: .4rem; overflow: hidden; color: var(--muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
    .admin-shell { width: min(100%, 110rem); margin-inline: auto; display: grid; grid-template-columns: 16rem minmax(0, 1fr); min-height: 75vh; background: var(--paper-soft); }
    .admin-nav { padding: 2rem 1rem; border-right: 1px solid var(--line); background: var(--green-dark); color: var(--paper); }
    .admin-nav strong { display: block; margin-bottom: 2rem; font: 500 1.6rem/1 var(--serif); }
    .admin-nav a { display: block; padding: .65rem .5rem; text-decoration: none; border-bottom: 1px solid rgba(251,250,197,.18); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
    .admin-main { min-width: 0; padding: clamp(1.5rem, 4vw, 4rem); }
    .admin-main h1 { font-size: clamp(3rem, 6vw, 6rem); margin-bottom: 2rem; }
    .admin-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
    .metric { min-height: 10rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1.2rem; background: var(--paper); border: 1px solid var(--line); }
    .metric strong { font: 500 3rem/1 var(--serif); }
    .metric small { color: var(--muted); }
    .dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr); gap: 1rem; margin-top: 1rem; }
    .dashboard-panel { min-width: 0; padding: 1.4rem; background: var(--white); border: 1px solid var(--line); }
    .dashboard-panel h2 { margin-bottom: 1.5rem; font-size: clamp(1.8rem, 3vw, 3.2rem); }
    .sales-chart { min-height: 19rem; display: flex; align-items: end; gap: clamp(.3rem, 1vw, 1rem); padding-top: 2rem; border-bottom: 1px solid var(--line); }
    .sales-bar { min-width: 0; flex: 1; display: grid; grid-template-rows: 1fr auto; align-items: end; gap: .5rem; height: 15rem; text-align: center; }
    .sales-bar i { display: block; width: 100%; min-height: 2px; background: var(--green); transition: height .3s; }
    .sales-bar:nth-child(3n) i { background: var(--orange); }
    .sales-bar:nth-child(3n+2) i { background: var(--rose); }
    .sales-bar small { overflow: hidden; font-size: .62rem; white-space: nowrap; }
    .rank-list { list-style: none; display: grid; }
    .rank-list li { display: grid; grid-template-columns: 2rem 1fr auto; gap: .75rem; align-items: baseline; padding-block: .75rem; border-bottom: 1px solid var(--line); }
    .rank-list li > span:first-child { color: var(--green); font: 500 1.4rem/1 var(--serif); }
    .stock-low { color: #8b4b00; }
    .stock-out { color: var(--danger); }
    .data-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); }
    .data-table { width: 100%; border-collapse: collapse; background: var(--white); font-size: .86rem; }
    .data-table th, .data-table td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
    .data-table th { background: rgba(45,91,37,.08); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
    .sortable-table .sort-column { width: 8rem; }
    .sortable-heading h2 { line-height: 1.05; }
    .sortable-heading .field-help { max-width: 44rem; margin-top: 1rem; line-height: 1.45; }
    .series-admin-swatch { display: inline-block; width: 1rem; height: 1rem; margin-right: .65rem; border: 1px solid var(--line); background: var(--series-accent, var(--green)); vertical-align: -.12rem; }
    .series-color-editor { display: grid; grid-template-columns: 9rem minmax(14rem, 1fr); gap: 1rem; align-items: stretch; }
    .series-color-editor > label { align-content: start; }
    .series-color-editor input[type="color"] { min-height: 4.5rem; padding: .35rem; cursor: pointer; }
    .series-color-preview { display: flex; flex-direction: column; justify-content: center; min-height: 5.7rem; padding: 1rem 1.2rem; background: var(--series-accent, var(--green)); color: var(--series-foreground, var(--paper)); }
    .series-color-preview .eyebrow { color: var(--series-highlight, var(--acid)); }
    .series-color-preview strong { margin-top: .2rem; font: 500 1.7rem/1 var(--serif); }
    .series-color-editor > .field-help { grid-column: 1 / -1; margin: 0; }
    .sortable-table [data-sortable-item] { position: relative; transition: opacity .15s ease, background-color .15s ease; }
    .sortable-table [data-sortable-item].is-dragging { opacity: .38; }
    .sortable-table [data-sortable-item].is-drop-before { box-shadow: inset 0 .22rem 0 var(--orange); }
    .sortable-table [data-sortable-item].is-drop-after { box-shadow: inset 0 -.22rem 0 var(--orange); }
    .sort-cell { width: 8rem; padding-block: .45rem !important; vertical-align: middle !important; }
    .sort-controls { display: flex; align-items: center; gap: .25rem; }
    .sort-handle, .sort-step { display: inline-grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border: 1px solid transparent; background: transparent; color: var(--muted); font: 700 1rem/1 var(--sans); }
    .sort-handle { cursor: grab; font-size: 1.35rem; }
    .sort-handle:active { cursor: grabbing; }
    .sort-handle:hover, .sort-handle:focus-visible, .sort-step:hover, .sort-step:focus-visible { border-color: var(--green); background: rgba(45,91,37,.09); color: var(--green); }
    .sort-step:disabled { opacity: .22; cursor: default; }
    .sortable-actions { display: flex; justify-content: flex-end; align-items: center; gap: 1rem; min-height: 4.6rem; padding-top: 1rem; }
    .sortable-actions p { margin: 0 auto 0 0; }
    [data-sortable-form]:not(.is-dirty) [data-sortable-save]:disabled { opacity: .45; }
    .admin-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
    .status { display: inline-flex; padding: .25rem .5rem; border-radius: 99rem; background: rgba(45,91,37,.12); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
    .login-shell { min-height: 67vh; display: grid; grid-template-columns: 1fr 1fr; }
    .login-art { display: grid; place-content: center; background: var(--green); color: var(--paper); overflow: hidden; }
    .login-art span { font: 800 clamp(14rem, 35vw, 35rem)/.7 var(--sans); transform: rotate(-7deg); }
    .login-form { display: grid; place-items: center; padding: 2rem; }
    .login-form .form-card { width: min(32rem, 100%); }
    .pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 3rem; }
    .pagination a { padding: .5rem .75rem; border: 1px solid var(--line); }
    .inline-form { display: inline; }
    .link-button { border: 0; background: transparent; padding: 0; color: inherit; font-size: inherit; font-weight: inherit; letter-spacing: inherit; text-transform: inherit; text-decoration: underline; }
    .danger-zone { margin-top: 3rem; padding: 1.5rem; border: 1px solid var(--danger); }
    .empty-state { padding: 5rem 2rem; text-align: center; border: 1px dashed var(--line); }
    .empty-state h2 { margin-bottom: 1rem; }
    .not-found { min-height: 65vh; display: grid; place-items: center; text-align: center; }
    .not-found strong { display: block; color: var(--green); font: 800 clamp(10rem, 25vw, 25rem)/.7 var(--sans); }
    @keyframes shimmer { to { background-position: -250% 0; } }
    @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
}

@layer utilities {
    .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
    .skip-link { position: fixed; z-index: 999; top: .5rem; left: .5rem; transform: translateY(-200%); background: var(--white); padding: .7rem 1rem; }
    .skip-link:focus { transform: none; }
    .muted { color: var(--muted); }
    .spacer { height: 2rem; }
    .stack { display: grid; gap: 1rem; }
    .flex { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
    .push-right { margin-left: auto; }
}

@media (max-width: 70rem) {
    :root { --shell: min(100% - 2rem, 70rem); }
    .header-grid { grid-template-columns: auto 1fr auto; min-height: 6.5rem; padding-block: 1rem; }
    .brand { grid-column: 1; grid-row: 1; }
    .header-search { grid-column: 1 / -1; grid-row: 2; }
    .utility-nav { grid-column: 3; grid-row: 1; }
    .primary-nav { gap: 1rem; overflow-x: auto; }
    .book-grid { grid-template-columns: repeat(3, 1fr); }
    .shop-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .series-grid { grid-template-columns: repeat(3, 1fr); }
    .series-card { min-height: 16rem; }
    .series-showcase-item { grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.1fr); min-height: 31rem; }
    .series-preview { padding-inline: 2rem; }
    .series-detail-hero { grid-template-columns: minmax(0, 1fr) minmax(19rem, .8fr); }
    .footer-grid { grid-template-columns: 1fr 1.4fr; }
    .footer-links { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
    .admin-cards { grid-template-columns: repeat(2, 1fr); }
    .dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
    :root { --shell: calc(100vw - 1.5rem); }
    body { font-size: .96rem; }
    .site-header { position: relative; }
    .header-grid { min-height: 0; grid-template-columns: auto 1fr auto auto; gap: .8rem; padding-block: .75rem; }
    .brand-mark { width: 3.25rem; font-size: 2.5rem; }
    .brand-name { display: none; }
    .utility-nav > :not(.cart-link) { display: none; }
    .primary-nav { display: none; }
    .mobile-menu { display: block; grid-column: 4; grid-row: 1; justify-self: end; }
    .mobile-menu summary { list-style: none; cursor: pointer; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .mobile-menu[open] nav { position: absolute; inset: 100% 0 auto 0; display: grid; padding: 1rem; background: var(--paper); border-block: 1px solid var(--line); }
    .mobile-menu nav a { padding: .8rem; border-bottom: 1px solid var(--line); font: 500 1.6rem/1 var(--serif); text-decoration: none; }
    .hero { grid-template-columns: 1fr; }
    .hero-copy { padding: 4rem .75rem; }
    .hero-visual { min-height: 22rem; order: -1; padding: 2rem; }
    .hero-cover-link { width: min(15rem, 58%); }
    .section { padding-block: 4rem; }
    .section-head { grid-template-columns: 1fr; }
    .book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem .8rem; }
    .shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem .8rem; }
    .shop-index-hero, .shop-product-hero, .shop-empty-state { grid-template-columns: 1fr; }
    .shop-books-cta { min-height: 14rem; }
    .shop-product-gallery { position: static; }
    .checkout-order-summary { position: static; }
    .shop-product-copy { padding-top: 0; }
    .admin-product-images { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .book-card h3 { font-size: 1.2rem; }
    .editorial-grid { grid-template-columns: 1fr; }
    .editorial-card { min-height: 19rem; }
    .series-grid { grid-template-columns: repeat(2, 1fr); }
    .series-card { min-height: 14rem; }
    .series-index-hero, .series-showcase-item, .series-detail-hero { grid-template-columns: 1fr; }
    .series-index-count { min-height: 14rem; }
    .series-index-count strong { font-size: 6rem; }
    .series-showcase-item:nth-child(even) .series-showcase-copy, .series-showcase-item:nth-child(even) .series-preview { order: initial; }
    .series-showcase-copy { min-height: 29rem; }
    .series-number { font-size: 5rem; }
    .series-preview { min-height: 25rem; padding: 2.2rem 1.25rem; }
    .series-preview-book > span { font-size: .8rem; }
    .series-detail-hero { min-height: 0; }
    .series-detail-copy { min-height: 34rem; }
    .series-detail-preview { min-height: 25rem; padding: 2.5rem 1.25rem; }
    .series-coming-soon { grid-template-columns: 1fr; gap: .65rem; }
    .split, .product-hero, .person-header { grid-template-columns: 1fr; }
    .podcast-index-header, .podcast-detail-header { grid-template-columns: 1fr; }
    .podcast-index-facts { grid-column: auto; }
    .podcast-theme-grid { grid-template-columns: 1fr; }
    .podcast-theme-card { grid-template-columns: minmax(9rem, .7fr) minmax(0, 1.3fr); min-height: 24rem; }
    .podcast-detail-art { order: -1; width: min(25rem, 100%); }
    .podcast-list-item { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1rem; }
    .podcast-list-copy { grid-column: 2; }
    .podcast-list-item-compact { grid-template-columns: 1fr; }
    .podcast-list-item-compact .podcast-list-copy { grid-column: 1; }
    .podcast-provenance { grid-template-columns: 1fr; }
    .podcast-related-book { grid-template-columns: 1fr; }
    .person-editorial-list article { grid-template-columns: 1fr; gap: .6rem; }
    .markdown-reference-results, .media-library { grid-template-columns: 1fr; }
    .product-cover-panel { position: static; }
    .product-copy h1 { font-size: clamp(3.1rem, 16vw, 5.5rem); }
    .metadata { grid-template-columns: 1fr; }
    .event-card { grid-template-columns: 5.5rem 1fr; gap: 1rem; }
    .event-date span { font-size: 2.7rem; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .full { grid-column: auto; }
    .book-reviews { grid-template-columns: 1fr; }
    .book-review-editor-row { grid-template-columns: 1fr; }
    .book-review-editor-row .full, .book-review-editor-row [data-review-remove] { grid-column: 1; grid-row: auto; }
    .publisher-staff-row { grid-template-columns: 1fr; }
    .contributor-role-grid { grid-template-columns: 1fr; }
    .series-color-editor { grid-template-columns: 1fr; }
    .series-color-editor > .field-help { grid-column: auto; }
    .cart-row { grid-template-columns: 4.5rem 1fr 5rem; gap: .75rem; }
    .cart-row .book-cover, .cart-row .product-image { width: 4.5rem; }
    .cart-row > :last-child { grid-column: 2 / -1; }
    .cookie-banner { grid-template-columns: 1fr; gap: .65rem; padding: .7rem; max-height: none; }
    .cookie-copy { display: block; }
    .cookie-copy strong { display: block; margin-bottom: .2rem; }
    .cookie-banner form { display: flex; flex-wrap: wrap; }
    .cookie-action { flex: 1 1 auto; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-links { grid-column: auto; grid-template-columns: repeat(2, 1fr); }
    .footer-meta { display: grid; }
    .admin-shell { grid-template-columns: 1fr; }
    .admin-nav { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: .5rem; }
    .admin-nav strong { display: none; }
    .admin-nav a { white-space: nowrap; border-bottom: 0; border-right: 1px solid rgba(251,250,197,.18); }
    .admin-main { padding: 1rem .75rem 3rem; }
    .admin-cards { grid-template-columns: 1fr 1fr; }
    .sales-chart { min-height: 14rem; overflow-x: auto; }
    .sales-bar { flex: 0 0 2.2rem; height: 11rem; }
    .login-shell { grid-template-columns: 1fr; }
    .login-art { min-height: 15rem; }
    .login-art span { font-size: 13rem; }
}

@media (max-width: 24rem) {
    .book-grid, .shop-product-grid, .admin-cards { grid-template-columns: 1fr; }
    .series-grid { grid-template-columns: 1fr; }
    .series-preview, .series-detail-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .series-preview-book:nth-child(3), .series-detail-preview-book:nth-child(3) { display: none; }
    .podcast-theme-card, .podcast-list-item { grid-template-columns: 1fr; }
    .podcast-theme-art { min-height: 18rem; }
    .podcast-list-art { width: 6rem; }
    .podcast-list-copy { grid-column: 1; }
}
