/* Celtic Books header — Step 1, 2026-10-05. Loaded by celtic-books.htm only. */
@font-face {
  font-family: "Source Serif 4";
  src: url("/Fonts/SourceSerif4-latin-variable-v4.004.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

/* Keep the document as the scroll owner so anchor history restores position. */
body.celtic-books-page {
  height: auto;
  min-height: 100%;
  overflow: visible;
}

.celtic-books-page #top-navigation {
  position: sticky !important;
  top: 0;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 63px;
  height: auto;
  margin: 0;
  padding: 5px clamp(24px, 2.3vw, 50px);
  padding-left: clamp(24px, 2.3vw, 50px) !important;
  background: linear-gradient(100deg, #163e2b, #071e15 65%, #123625) !important;
  border-bottom: 1px solid rgba(183, 152, 83, .25);
  box-shadow: none;
  z-index: 100;
}
.celtic-books-page #top-navigation::before,
.celtic-books-page #top-navigation::after { content: none; }
.celtic-books-page #top-navigation > .celtic-site-brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 14px;
  margin: 0 !important;
  color: #f7efdf;
  text-decoration: none;
}
.celtic-books-page #top-navigation #logo {
  position: static;
  display: flex;
  width: auto;
  margin: 0;
  padding: 0;
  transform: none;
}
.celtic-books-page #top-navigation #logo > span {
  margin-right: 2px;
  padding: 5px 6px;
  font-size: 13px;
}
.celtic-books-page .celtic-site-brand__wordmark {
  color: #f7efdf;
  font: 425 clamp(27px, 1.9vw, 40px)/1 "Source Serif 4", Georgia, serif;
  letter-spacing: .005em;
  white-space: nowrap;
}
.celtic-books-page .celtic-site-brand__wordmark small {
  display: block;
  margin-top: 4px;
  color: #d6c6a0;
  font: clamp(8px, .55vw, 11px)/1.2 Arial, sans-serif;
  letter-spacing: .16em;
}
.celtic-books-page .celtic-site-motto {
  position: absolute;
  inset: 0 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 20px;
  border-left: 1px solid transparent;
  background: #a0271b;
  color: #DBD9CF;
  font: italic clamp(14px, 1.05vw, 22px)/1.3 Georgia, serif;
  text-align: center;
  white-space: nowrap;
}
.celtic-books-page #main-body-books.main-body-books {
  margin-top: 0;
}

/* The archaeology slot is intentionally CSS-only until a separate art pass.
   Its eventual artwork must not carry editorial text or the Glastonbury scene. */
.celtic-books-page .celtic-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: clamp(390px, 25.7vw, 558px);
  background: #071b12;
  color: #f1e9d5;
  font-family: Georgia, serif;
}
.celtic-books-page .celtic-hero__archaeological-background {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-color: #071b12;
  background-image: linear-gradient(90deg, rgba(4, 22, 13, .28), rgba(8, 26, 17, .08) 48%, rgba(5, 20, 14, .12)),
    url("/Images/books/Celts/page-assets/celtic-books-hero-artefacts.png"),
    radial-gradient(ellipse at 32% 25%, #304732 0%, transparent 52%),
    radial-gradient(ellipse at 12% 83%, #223c28 0%, transparent 48%),
    linear-gradient(115deg, #061b11, #193522 48%, #0a2017 70%);
  background-size: cover, 100% 100%, auto, auto, auto;
  background-position: center, center, center, center, center;
  background-repeat: no-repeat;
}
.celtic-books-page .celtic-hero__atmosphere {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(1, 15, 8, .52), transparent 60%),
    linear-gradient(0deg, rgba(1, 15, 8, .6), transparent 45%);
  pointer-events: none;
}
.celtic-books-page .celtic-hero__artwork {
  position: absolute;
  z-index: 2;
  inset: 0 0 0 40%;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 32%, #000);
  mask-image: linear-gradient(90deg, transparent, #000 32%, #000);
}
.celtic-books-page .celtic-hero__artwork img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: right center;
}
.celtic-books-page .celtic-hero__editorial {
  position: absolute;
  z-index: 3;
  top: 4%;
  left: 10.5%;
  width: 27%;
}
.celtic-books-page .celtic-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 6px;
  color: #d9bb77;
  font: 400 clamp(14px, 1.12vw, 24px)/1.2 Georgia, serif;
  letter-spacing: .1em;
}
.celtic-books-page .celtic-hero__eyebrow::after {
  content: "";
  width: clamp(48px, 4vw, 88px);
  border-top: 1px solid #a48b50;
}
.celtic-books-page .celtic-hero__title {
  margin: 0 0 8px;
  padding: 0;
  color: #f1e9d5;
  font: 400 clamp(38px, 3.15vw, 68px)/1.05 Georgia, serif;
  letter-spacing: -.025em;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .3);
  white-space: nowrap;
}
.celtic-books-page .celtic-hero__title > span { display: block; }
.celtic-books-page .celtic-hero__title > span:first-child {
  margin-left: -.025em;
  color: #e6ce95;
  font-size: clamp(91px, 7.2vw, 156px);
  line-height: .85;
  letter-spacing: -.02em;
}
.celtic-books-page .celtic-hero__intro {
  margin: 0;
  color: #f1e9d5;
  font: 400 clamp(17px, 1.23vw, 26px)/1.17 Georgia, serif;
}
.celtic-books-page .celtic-hero__intro br,
.celtic-books-page .celtic-hero__quote br { margin: 0; }
.celtic-books-page .celtic-hero__quote {
  position: absolute;
  z-index: 4;
  top: 22%;
  left: 35.5%;
  width: 20%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #ecdcb6;
  text-align: center;
  text-shadow: 0 2px 5px #06170c;
}
.celtic-books-page .celtic-hero__quote-welsh {
  display: block;
  margin: 0 0 12px;
  color: #e3c588;
  font: italic 400 clamp(16px, 1.15vw, 25px)/1.2 Georgia, serif;
}
.celtic-books-page .celtic-hero__quote-translation {
  margin: 0 0 10px;
  color: #ecdcb6;
  font: italic 400 clamp(15px, 1.04vw, 23px)/1.2 Georgia, serif;
}
.celtic-books-page .celtic-hero__quote-attribution {
  display: block;
  margin-top: 14px;
  color: #d7c499;
  font: 400 clamp(12px, .85vw, 18px)/1.2 Georgia, serif;
}
.celtic-books-page .celtic-hero__quote::before,
.celtic-books-page .celtic-hero__quote::after { content: none; }
.celtic-books-page .celtic-hero__quote-trigger {
  display: block;
  cursor: pointer;
  list-style: none;
  text-decoration: none;
}
.celtic-books-page .celtic-hero__quote-trigger::-webkit-details-marker { display: none; }
.celtic-books-page .celtic-hero__quote-trigger:focus-visible {
  outline: 2px solid #e5c88e;
  outline-offset: 4px;
  border-radius: 2px;
}
.celtic-books-page .celtic-hero__quote-info {
  display: inline-block;
  margin-left: 7px;
  color: #ffe5aa;
  font: normal 15px/1 Arial, sans-serif;
}
.celtic-books-page .celtic-hero__quote-popover {
  display: none;
  position: absolute;
  z-index: 5;
  top: 100%;
  right: 0;
  box-sizing: border-box;
  width: min(320px, calc(100vw - 32px));
  padding: 12px 15px;
  border: 1px solid #bf965d;
  border-radius: 4px;
  background: #fff8e9;
  box-shadow: 0 7px 18px rgba(5, 25, 12, .27);
  text-align: left;
  text-shadow: none;
}
.celtic-books-page .celtic-hero__quote-popover .celtic-hero__quote-translation {
  margin: 0;
  color: #233b2a;
  font: italic 15px/1.35 Georgia, serif;
}
.celtic-books-page .celtic-hero__quote-trigger:hover + .celtic-hero__quote-popover,
.celtic-books-page .celtic-hero__quote-trigger:focus + .celtic-hero__quote-popover,
.celtic-books-page .celtic-hero__quote-popover:hover,
.celtic-books-page .celtic-hero__quote:focus-within .celtic-hero__quote-popover,
.celtic-books-page .celtic-hero__quote[open] .celtic-hero__quote-popover { display: block; }
.celtic-books-page .celtic-hero__callouts {
  position: absolute;
  z-index: 3;
  bottom: 5%;
  left: 1%;
  width: 46%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  text-align: center;
}
.celtic-books-page .celtic-hero__callout {
  padding: 0 8px;
  border-right: 1px solid rgba(196, 166, 98, .65);
}
.celtic-books-page .celtic-hero__callout:last-child { border-right: 0; }
.celtic-books-page .celtic-hero__callout img {
  display: block;
  width: clamp(42px, 3.4vw, 74px);
  height: clamp(36px, 2.8vw, 61px);
  object-fit: contain;
  margin: 0 auto 7px;
}
.celtic-books-page .celtic-hero__callout h2 {
  margin: 0 0 4px;
  padding: 0;
  color: #f0e3c4;
  font: 700 clamp(13px, 1vw, 22px)/1.2 Georgia, serif;
  white-space: nowrap;
}
.celtic-books-page .celtic-hero__callout p {
  margin: 0;
  color: #e2d7bd;
  font: 400 clamp(12px, .96vw, 21px)/1.2 Georgia, serif;
}
.celtic-books-page .celtic-category-rail {
  margin: 0;
  padding: 0;
  background: #BEB7AD;
  border-bottom: 1px solid #d8b98b;
  overflow-x: auto;
  scrollbar-width: thin;
}
.celtic-books-page .celtic-category-rail__items {
  display: flex;
  align-items: center;
  min-width: max-content;
  padding: 6px clamp(24px, 2.3vw, 50px);
}
.celtic-books-page .celtic-category-rail__item {
  flex: 1 0 auto;
  padding: 10px clamp(9px, 1vw, 22px);
  border-right: 1px solid rgba(72, 38, 36, .22);
  color: #482624;
  font: 700 clamp(11px, .8vw, 17px)/1.15 Georgia, serif;
  text-decoration: none;
  white-space: nowrap;
}
.celtic-books-page .celtic-category-rail__item:last-child { border-right: 0; }
.celtic-books-page .celtic-category-rail__item--current {
  flex-grow: 0;
  color: #fff8ec;
  background: #153b28;
  border: 0;
  border-bottom: 2px solid #b98a3c;
  border-radius: 4px;
}
.celtic-books-page .celtic-category-rail a:hover { background: #e9e2cf; }
.celtic-books-page .celtic-category-rail a:focus-visible {
  outline: 2px solid #153b28;
  outline-offset: -2px;
}

@media (min-width: 901px) {
  /* Match Roman's 63px navigation, 171.4px hero + 59px callout band,
     and 43.3px category rail. Keep the full approved artwork in this depth. */
  .celtic-books-page #top-navigation { height: 63px; }
  .celtic-books-page .celtic-site-brand__wordmark { font-size: 27px; }
  .celtic-books-page .celtic-site-brand__wordmark small { font-size: 8px; }
  .celtic-books-page .celtic-site-motto { padding: 0 20px; font-size: 14px; line-height: 1.05; }
  .celtic-books-page .celtic-hero { height: 230.4px; }
  .celtic-books-page .celtic-hero__artwork {
    inset: 0 0 0 auto;
    width: auto;
    aspect-ratio: 1916 / 821;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 22%, #000);
    mask-image: linear-gradient(90deg, transparent, #000 22%, #000);
  }
  .celtic-books-page .celtic-hero__editorial { top: 10px; left: 2.3%; width: 38%; }
  .celtic-books-page .celtic-hero__eyebrow { margin-bottom: 4px; font-size: 14px; line-height: 1.1; }
  .celtic-books-page .celtic-hero__title { margin-bottom: 6px; font-size: 28px; }
  .celtic-books-page .celtic-hero__title > span:first-child { font-size: 60px; }
  .celtic-books-page .celtic-hero__intro { max-width: 540px; font-size: 15px; line-height: 18px; }
  .celtic-books-page .celtic-hero__intro br { display: none; }
  .celtic-books-page .celtic-hero__quote { top: 38px; left: 40%; width: 23%; max-width: 400px; }
  .celtic-books-page .celtic-hero__quote-welsh { margin-bottom: 8px; font-size: 16px; }
  .celtic-books-page .celtic-hero__quote-translation { margin-bottom: 8px; font-size: 15px; }
  .celtic-books-page .celtic-hero__quote-attribution { font-size: 12px; }
  .celtic-books-page .celtic-hero__callouts {
    bottom: 0;
    left: 2.3%;
    width: 57%;
    max-width: 1000px;
    height: 59px;
    box-sizing: border-box;
    padding: 2px 0;
  }
  .celtic-books-page .celtic-hero__callout img { width: 28px; height: 21px; margin-bottom: 3px; }
  .celtic-books-page .celtic-hero__callout h2 { margin-bottom: 2px; font-size: 12px; }
  .celtic-books-page .celtic-hero__callout p { font-size: 12px; }
  .celtic-books-page .celtic-category-rail__items { padding-top: 5px; padding-bottom: 5px; }
  .celtic-books-page .celtic-category-rail__item { padding-top: 9px; padding-bottom: 9px; font-size: .67rem; }
  .celtic-books-page .celtic-category-rail { scrollbar-width: none; }
  .celtic-books-page .celtic-category-rail::-webkit-scrollbar { display: none; }
  .celtic-books-page #top-navigation nav {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    margin: 0 0 0 auto;
    overflow: visible;
  }
  .celtic-books-page #top-navigation nav > ul {
    display: flex;
    align-items: center;
    gap: 1px;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    font-size: 1rem !important;
  }
  .celtic-books-page #top-navigation nav > ul > li {
    position: relative;
    float: none;
    min-height: 0;
    padding: 0;
    background: transparent !important;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .celtic-books-page #top-navigation nav > ul > li > a {
    display: block;
    min-height: 0;
    padding: 10px 11px;
    color: #fff5e6 !important;
    font: 16px/1 Georgia, serif;
    letter-spacing: 0;
    text-shadow: none;
    border-radius: 0;
  }
  .celtic-books-page #top-navigation nav > ul > li > a:hover,
  .celtic-books-page #top-navigation nav > ul > li > a:focus-visible,
  .celtic-books-page #top-navigation nav > ul > li.is-current > a {
    color: #e3c588 !important;
    background: rgba(255, 255, 255, .08) !important;
  }
  .celtic-books-page #top-navigation nav > ul > li > div { top: 100%; }
}

@media (min-width: 901px) and (max-width: 1199px) {
  .celtic-books-page .celtic-hero__editorial { width: 35%; }
  .celtic-books-page .celtic-hero__title { font-size: 26px; }
  .celtic-books-page .celtic-hero__title > span:first-child { font-size: 52px; }
  .celtic-books-page .celtic-hero__intro { font-size: 14px; line-height: 17px; }
  .celtic-books-page .celtic-hero__quote { left: 38%; width: 20%; }
  .celtic-books-page .celtic-hero__callouts { width: 57%; }
  .celtic-books-page .celtic-hero__callout h2 { font-size: 11px; }
  .celtic-books-page .celtic-hero__callout p { font-size: 11px; }
}

@media (min-width: 901px) and (max-width: 1079px) {
  .celtic-books-page .celtic-hero { height: 236.4px; }
}

@media (max-width: 900px) {
  .celtic-books-page #top-navigation { flex-wrap: wrap; padding: 8px 18px; }
  .celtic-books-page .celtic-site-brand__wordmark { font-size: clamp(18px, 3.8vw, 27px); }
  .celtic-books-page .celtic-site-brand__wordmark small,
  .celtic-books-page .celtic-site-motto { display: none; }
  .celtic-books-page #top-navigation > .celtic-site-brand { gap: 9px; }
  .celtic-books-page #top-navigation #logo > span { padding: 4px; font-size: 12px; }
  .celtic-books-page #top-navigation .mobile-nav-toggle { margin-left: auto; }
  /* The shared submenu flex rule otherwise collapses rows at 768–900px. */
  .celtic-books-page #top-navigation.mobile-nav-ready nav > ul {
    width: 100%;
    max-width: 100%;
  }
  .celtic-books-page #top-navigation.mobile-nav-ready li.has-submenu {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
  }
  .celtic-books-page #top-navigation.mobile-nav-ready li.has-submenu > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
  }
  .celtic-books-page #top-navigation.mobile-nav-ready li.has-submenu > a::after {
    pointer-events: none;
  }
  .celtic-books-page .celtic-hero { display: flex; flex-direction: column; height: auto; }
  .celtic-books-page .celtic-hero__artwork {
    position: relative;
    inset: auto;
    order: 0;
    width: 100%;
    aspect-ratio: 1916 / 821;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .celtic-books-page .celtic-hero__editorial {
    position: relative;
    inset: auto;
    order: 1;
    box-sizing: border-box;
    width: 100%;
    padding: 24px 24px 0;
  }
  .celtic-books-page .celtic-hero__title { font-size: clamp(30px, 6.7vw, 48px); }
  .celtic-books-page .celtic-hero__title > span:first-child { font-size: clamp(80px, 19vw, 126px); }
  .celtic-books-page .celtic-hero__intro { font-size: 18px; line-height: 1.4; }
  .celtic-books-page .celtic-hero__intro br { display: none; }
  .celtic-books-page .celtic-hero__quote {
    position: relative;
    inset: auto;
    order: 2;
    box-sizing: border-box;
    width: 100%;
    padding: 26px 24px;
    text-align: left;
  }
  .celtic-books-page .celtic-hero__callouts {
    position: relative;
    inset: auto;
    order: 3;
    box-sizing: border-box;
    width: 100%;
    padding: 0 18px 24px;
    gap: 20px;
    grid-template-columns: 1fr;
  }
  .celtic-books-page .celtic-hero__callout { border: 0; }
  .celtic-books-page .celtic-hero__callout h2 { font-size: 16px; }
  .celtic-books-page .celtic-hero__callout p { font-size: 15px; }
  .celtic-books-page .celtic-category-rail__items { padding: 6px 18px; }
  .celtic-books-page .celtic-category-rail__item { padding: 14px 12px; font-size: 12px; }
}

/* Compact editorial and book feature directly beneath the category rail. */
.celtic-books-page .celtic-lower-editorial {
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  align-items: stretch;
  gap: clamp(12px, 1.15vw, 18px);
  margin: 12px 0 22px;
}
.celtic-books-page .celtic-personal-selection {
  box-sizing: border-box;
  min-width: 0;
  padding: clamp(15px, 1.3vw, 20px);
  border: 1px solid #d7c49a;
  border-radius: 5px;
  background: linear-gradient(135deg, #fbf5e8, #f1e7d2);
  box-shadow: 0 2px 8px rgba(39, 31, 16, .1);
  color: #342719;
}
.celtic-books-page .celtic-personal-selection h2 {
  margin: 0 0 8px;
  color: #294432;
  font: 600 17px/1.2 "Source Serif 4", Georgia, serif;
  letter-spacing: .055em;
}
.celtic-books-page .celtic-personal-selection p {
  margin: 0;
  color: #3c3023;
  font: 400 15px/1.48 "Source Serif 4", Georgia, serif;
}
.celtic-books-page .celtic-featured-book {
  display: grid;
  grid-template-columns: clamp(132px, 14vw, 178px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  box-sizing: border-box;
  min-width: 0;
  padding: 16px clamp(18px, 2vw, 28px);
  border: 1px solid rgba(205, 174, 111, .45);
  border-radius: 5px;
  background: linear-gradient(115deg, #123b29, #092719 70%, #0b3020);
  box-shadow: 0 3px 10px rgba(12, 30, 20, .18);
  color: #f6efde;
}
.celtic-books-page .celtic-featured-book__cover-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  text-decoration: none;
}
.celtic-books-page .celtic-featured-book__cover {
  display: block;
  width: auto;
  max-width: 100%;
  height: clamp(176px, 15vw, 210px);
  object-fit: contain;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .45);
}
.celtic-books-page .celtic-featured-book__details { min-width: 0; }
.celtic-books-page .celtic-featured-book__label {
  margin: 0 0 7px;
  color: #dfbd70;
  font: 600 12px/1.2 Arial, sans-serif;
  letter-spacing: .13em;
}
.celtic-books-page .celtic-featured-book__details h2 {
  margin: 0 0 4px;
  color: #f3e8ca;
  font: 500 clamp(23px, 2.15vw, 31px)/1.12 "Source Serif 4", Georgia, serif;
}
.celtic-books-page .celtic-featured-book__details h2 a {
  color: inherit;
  text-decoration: none;
}
.celtic-books-page .celtic-featured-book__details h2 a:hover,
.celtic-books-page .celtic-featured-book__details h2 a:focus-visible { text-decoration: underline; }
.celtic-books-page .celtic-featured-book__author {
  margin: 0 0 8px;
  color: #e3d6b5;
  font: 400 15px/1.35 "Source Serif 4", Georgia, serif;
}
.celtic-books-page .celtic-featured-book__description {
  margin: 0 0 10px;
  color: #f1ead9;
  font: 400 14px/1.43 "Source Serif 4", Georgia, serif;
}
.celtic-books-page .celtic-featured-book__action {
  display: inline-block;
  padding: 6px 11px;
  border: 1px solid #d7b662;
  border-radius: 3px;
  color: #f4d581;
  font: 600 12px/1.2 Arial, sans-serif;
  text-decoration: none;
}
.celtic-books-page .celtic-featured-book__action:hover,
.celtic-books-page .celtic-featured-book__action:focus-visible {
  background: rgba(224, 190, 111, .12);
  outline: 2px solid #e2c77f;
  outline-offset: 2px;
}
.celtic-books-page #featured > .r4h-book-grid > [data-asin="0198150105"][hidden] { display: none !important; }
.celtic-books-page #featured { margin-top: 0; }

@media (max-width: 900px) {
  .celtic-books-page .celtic-lower-editorial {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 12px 0 20px;
  }
  .celtic-books-page .celtic-personal-selection { padding: 17px; }
  .celtic-books-page .celtic-featured-book {
    grid-template-columns: minmax(100px, 31%) minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
  }
  .celtic-books-page .celtic-featured-book__cover { height: 180px; }
  .celtic-books-page .celtic-featured-book__details h2 { font-size: 24px; }
}
@media (max-width: 420px) {
  .celtic-books-page .celtic-featured-book {
    grid-template-columns: minmax(88px, 30%) minmax(0, 1fr);
    gap: 12px;
    padding: 13px;
  }
  .celtic-books-page .celtic-featured-book__cover { height: 150px; }
  .celtic-books-page .celtic-featured-book__details h2 { font-size: 21px; }
  .celtic-books-page .celtic-featured-book__description { font-size: 13px; }
}

/* Lower editorial visual-fidelity pass: keep the page field continuous and warm. */
.celtic-books-page {
  --celtic-page-field: #f4ecd9;
  background: var(--celtic-page-field);
}
.celtic-books-page #main-body-books.main-body-books {
  background: var(--celtic-page-field);
  color: #3c3025;
}
.celtic-books-page .celtic-personal-selection {
  padding: clamp(17px, 1.55vw, 24px);
  border: 1px solid rgba(114, 88, 53, .2);
  border-radius: 6px;
  background:
    radial-gradient(ellipse at 16% 10%, rgba(255, 255, 255, .42), transparent 62%),
    linear-gradient(140deg, #faf5e9, #f2e9d7);
  box-shadow: 0 2px 8px rgba(55, 39, 19, .12);
}
.celtic-books-page .celtic-personal-selection h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  max-width: 100%;
  margin-bottom: 10px;
  padding-bottom: 6px;
  background: linear-gradient(rgba(94, 75, 48, .55), rgba(94, 75, 48, .55)) left bottom / calc(100% - 66px) 1px no-repeat;
  color: #34271c;
  font-size: clamp(20px, 1.65vw, 24px);
  font-weight: 400;
  letter-spacing: .065em;
}
.celtic-books-page .celtic-personal-selection h2::after {
  content: "";
  flex: 0 0 54px;
  border-top: 1px solid rgba(132, 105, 61, .72);
}
.celtic-books-page .celtic-personal-selection p {
  color: #493b2c;
  font-size: 14.5px;
  font-weight: 350;
  line-height: 1.55;
}
.celtic-books-page .celtic-featured-book {
  gap: clamp(20px, 2.15vw, 31px);
  padding: 17px clamp(21px, 2vw, 29px);
  border-color: rgba(199, 164, 91, .3);
  border-radius: 6px;
  background:
    radial-gradient(ellipse at 72% 44%, rgba(62, 94, 63, .27), transparent 48%),
    linear-gradient(112deg, #123d29 0%, #0d3020 48%, #082719 100%);
  box-shadow: 0 3px 10px rgba(25, 37, 25, .18);
}
.celtic-books-page .celtic-featured-book__cover {
  height: clamp(216px, 17.2vw, 248px);
  box-shadow: 0 5px 14px rgba(0, 0, 0, .4);
}
.celtic-books-page .celtic-featured-book__label {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 8px;
  color: #c9aa68;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 13px;
  font-weight: 450;
  letter-spacing: .14em;
}
.celtic-books-page .celtic-featured-book__label::after {
  content: "";
  flex: 1 1 auto;
  border-top: 1px solid rgba(194, 162, 99, .65);
}
.celtic-books-page .celtic-featured-book__details h2 {
  margin-bottom: 5px;
  color: #f1e7d1;
  font-size: clamp(34px, 2.65vw, 39px);
  font-weight: 400;
  line-height: 1.08;
}
.celtic-books-page .celtic-featured-book__author {
  margin-bottom: 11px;
  color: #d8c79e;
  font-size: 15px;
  font-weight: 350;
}
.celtic-books-page .celtic-featured-book__description {
  margin-bottom: 13px;
  color: #e9e2d2;
  font-size: 14px;
  font-weight: 350;
  line-height: 1.48;
}
.celtic-books-page .celtic-featured-book__action {
  padding: 7px 13px;
  border-color: #bda05e;
  border-radius: 4px;
  background: rgba(2, 20, 12, .22);
  color: #d8bd7b;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 13px;
  font-weight: 500;
}
.celtic-books-page .celtic-featured-book__action:hover,
.celtic-books-page .celtic-featured-book__action:focus-visible {
  background: rgba(218, 188, 120, .1);
}
.celtic-books-page #featured {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.celtic-books-page .celtic-featured-section-heading {
  display: grid;
  grid-template-columns: max-content minmax(36px, .55fr) minmax(0, 2fr);
  align-items: center;
  gap: 15px;
  margin-bottom: 10px;
}
.celtic-books-page .celtic-featured-section-heading__rule {
  grid-column: 2;
  align-self: center;
  border-top: 1px solid rgba(75, 94, 73, .48);
}
.celtic-books-page .celtic-featured-section-heading h2 {
  grid-column: 1;
  margin: 0;
  color: #183d2b;
  font: 400 clamp(27px, 2.35vw, 34px)/1.12 "Source Serif 4", Georgia, serif;
  letter-spacing: -.015em;
}
.celtic-books-page .celtic-featured-section-heading .clt-section__intro {
  grid-column: 3;
  margin: 0;
  color: #544a3a;
  font: 350 14px/1.4 "Source Serif 4", Georgia, serif;
}
.celtic-books-page #featured .r4h-book-grid {
  margin-top: 0;
  padding-top: .3rem;
}

@media (max-width: 900px) {
  .celtic-books-page .celtic-personal-selection h2 { font-size: 22px; }
  .celtic-books-page .celtic-featured-book__cover { height: 200px; }
  .celtic-books-page .celtic-featured-book__details h2 { font-size: 30px; }
  .celtic-books-page .celtic-featured-section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }
  .celtic-books-page .celtic-featured-section-heading__rule { display: none; }
  .celtic-books-page .celtic-featured-section-heading .clt-section__intro { grid-column: 1; }
}
@media (max-width: 420px) {
  .celtic-books-page .celtic-featured-book__cover { height: 165px; }
  .celtic-books-page .celtic-featured-book__details h2 { font-size: 23px; }
}

/* 2026-10-05: one selected subject tab and one compact secondary strip. */
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero { height: 281.7px; }
  .celtic-books-page .celtic-hero__callouts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: 58px 34px;
    align-content: end;
    padding-bottom: 12px;
    box-sizing: border-box;
    height: 100%;
  }
  .celtic-books-page .celtic-hero__callout {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    margin: 0;
    padding: 2px 4px 0;
    border: 0;
    border-right: 1px solid rgba(196, 166, 98, .45);
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
  }
  .celtic-books-page .celtic-hero__callout:last-of-type { border-right: 0; }
  .celtic-books-page .celtic-hero__callout img { width: 28px; height: 21px; margin: 0 auto 3px; }
  .celtic-books-page .celtic-hero__callout h2 {
    margin: 0;
    padding: 0 0 4px;
    border-bottom: 1px solid transparent;
    color: #f0e3c4;
    font: 700 12px/1.2 Georgia, serif;
    text-align: center;
  }
  .celtic-books-page .celtic-hero__callout[aria-pressed="true"] h2 {
    border-bottom-color: #c9a45c;
    color: #f5e8c6;
  }
  .celtic-books-page .celtic-hero__callout:hover h2 { color: #f5e8c6; }
  .celtic-books-page .celtic-hero__callout:focus-visible { outline: 1px solid #c9a45c; outline-offset: -2px; }
  .celtic-books-page .celtic-subnav {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    gap: 12px;
    box-sizing: border-box;
    min-width: 0;
    height: 34px;
    padding: 0 12px;
    background: #BEB7AD;
    color: #482624;
    font: 400 13px/1.2 Georgia, serif;
  }
  .celtic-books-page .celtic-subnav[hidden] { display: none !important; }
  .celtic-books-page .celtic-subnav a,
  .celtic-books-page .celtic-subnav span { color: #482624; white-space: nowrap; }
  .celtic-books-page .celtic-subnav a { text-underline-offset: 3px; }
  .celtic-books-page #celtic-subnav-myths { justify-content: space-evenly; }
  .celtic-books-page #celtic-subnav-daily { justify-content: flex-start; padding-left: 24px; }
}
@media (max-width: 900px) {
  .celtic-books-page .celtic-hero__callouts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
  }
  .celtic-books-page .celtic-hero__callout {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 10px 16px;
    border: 0;
    border-bottom: 1px solid rgba(196, 166, 98, .35);
    background: transparent;
    color: #f0e3c4;
    text-align: left;
    cursor: pointer;
  }
  .celtic-books-page .celtic-hero__callout img { width: 36px; height: 30px; margin: 0; }
  .celtic-books-page .celtic-hero__callout h2 { margin: 0; color: inherit; font: 700 15px/1.2 Georgia, serif; }
  .celtic-books-page .celtic-hero__callout[aria-pressed="true"] h2 { color: #f5d993; }
  .celtic-books-page .celtic-subnav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 18px;
    background: #BEB7AD;
    color: #482624;
    font: 400 14px/1.25 Georgia, serif;
  }
  .celtic-books-page .celtic-subnav[hidden] { display: none !important; }
  .celtic-books-page .celtic-subnav a,
  .celtic-books-page .celtic-subnav span { color: #482624; }
}
@media (max-width: 900px) {
  .celtic-books-page .celtic-subnav { min-height: 63px; }
}
/* Preserve the accepted two-column hero grid around the simplified tabs. */
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero {
    display: grid;
    grid-template-columns: minmax(0, 33fr) minmax(0, 27fr) minmax(0, 40fr);
    grid-template-rows: minmax(125px, 1fr) 156.7px;
    height: 281.7px;
  }
  .celtic-books-page .celtic-hero__artwork {
    position: relative;
    inset: auto;
    grid-column: 3;
    grid-row: 1 / 3;
    width: 100%;
    min-width: 0;
    aspect-ratio: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .celtic-books-page .celtic-hero__artwork img { position: absolute; inset: 0; object-position: right center; }
  .celtic-books-page .celtic-hero__editorial {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    width: auto;
    padding: 15px 0 12px clamp(24px, 2.3vw, 50px);
  }
  .celtic-books-page .celtic-hero__quote {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    width: auto;
    padding: 12px 22px;
  }
  .celtic-books-page .celtic-hero__callouts {
    position: relative;
    inset: auto;
    grid-column: 1 / 3;
    grid-row: 2;
    width: 100%;
    max-width: none;
    height: 156.7px;
    box-sizing: border-box;
    padding: 20px 0 0;
    align-content: space-between;
  }
}
@media (max-width: 900px) {
  .celtic-books-page .celtic-hero__callout { position: relative; inset: auto; transform: none; box-sizing: border-box; }
}

/* Final positioning: dedicated left grid anchors tabs above the fixed strip. */
@media (min-width: 901px) {
  .celtic-books-page #top-navigation { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:stretch; column-gap:14px; box-sizing:border-box; height:63px; min-height:63px; padding:0 0 0 clamp(24px,2.3vw,32px); }
  .celtic-books-page #top-navigation > .celtic-site-brand { align-self:center; min-width:0; gap:14px; }
  .celtic-books-page .celtic-site-brand__wordmark { font-size:27px; }
  .celtic-books-page .celtic-site-brand__wordmark small { margin-top:4px; font-size:8px; }
  .celtic-books-page #top-navigation nav { display:flex; align-items:center; justify-self:end; width:max-content; max-width:none; margin:0; overflow:visible; }
  .celtic-books-page #top-navigation nav > ul { flex-wrap:nowrap; gap:8px; }
  .celtic-books-page #top-navigation nav > ul > li > a { padding:10px 11px; white-space:nowrap; }
  .celtic-books-page .celtic-site-motto { position:static; align-self:stretch; display:flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:63px; margin:0; padding:0 18px; background:#a0271b; color:#DBD9CF; font-size:14px; line-height:1.05; }
  .celtic-books-page .celtic-hero { display:grid; grid-template-columns:minmax(0,60fr) minmax(0,40fr); grid-template-rows:281.7px; height:281.7px; }
  .celtic-books-page .celtic-hero__artwork { position:relative; inset:auto; grid-column:2; grid-row:1; width:100%; min-width:0; aspect-ratio:auto; -webkit-mask-image:none; mask-image:none; }
  .celtic-books-page .celtic-hero__artwork img { position:absolute; inset:0; object-position:right center; }
  .celtic-books-page .celtic-hero__left { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr); grid-template-rows:125px minmax(0,1fr) 88px; grid-column:1; grid-row:1; min-width:0; height:100%; }
  .celtic-books-page .celtic-hero__editorial { position:relative; inset:auto; grid-column:1; grid-row:1; width:auto; padding:15px 0 12px clamp(24px,2.3vw,50px); }
  .celtic-books-page .celtic-hero__quote { position:relative; inset:auto; grid-column:2; grid-row:1; align-self:center; width:auto; padding:12px 22px; }
  .celtic-books-page .celtic-hero__callouts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:40px 14px 34px; grid-column:1 / 3; grid-row:3; align-content:end; position:relative; z-index:3; width:100%; height:88px; }
  .celtic-books-page .celtic-hero__callout { grid-row:1; align-self:end; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; min-width:0; min-height:40px; margin:0; padding:2px 4px 0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
  .celtic-books-page .celtic-hero__callout:nth-child(1) { grid-column:1; }
  .celtic-books-page .celtic-hero__callout:nth-child(2) { grid-column:2; }
  .celtic-books-page .celtic-hero__callout:nth-child(3) { grid-column:3; }
  .celtic-books-page .celtic-hero__callout img { width:28px; height:21px; margin:0 auto 3px; }
  .celtic-books-page .celtic-hero__callout h2 { margin:0; padding:0 0 4px; border-bottom:1px solid transparent; color:#f0e3c4; font:700 12px/1.2 Georgia,serif; text-align:center; }
  .celtic-books-page .celtic-hero__callout[aria-pressed="true"] h2 { border-bottom-color:#c9a45c; color:#f5e8c6; }
  .celtic-books-page .celtic-hero__callout:hover h2 { color:#f5e8c6; }
  .celtic-books-page .celtic-hero__callout:focus-visible { outline:1px solid #c9a45c; outline-offset:-2px; }
  .celtic-books-page .celtic-subnav { grid-column:1 / 4; grid-row:3; align-self:stretch; display:flex; align-items:center; justify-content:space-evenly; gap:12px; box-sizing:border-box; min-width:0; width:100%; height:34px; padding:0 12px; background:#BEB7AD; color:#482624; font:400 13px/1.2 Georgia,serif; }
  .celtic-books-page .celtic-subnav[hidden] { display:none !important; }
  .celtic-books-page .celtic-subnav a, .celtic-books-page .celtic-subnav span { color:#482624; white-space:nowrap; }
  .celtic-books-page .celtic-subnav a { text-underline-offset:3px; }
  .celtic-books-page #celtic-subnav-myths { justify-content:space-evenly; }
  .celtic-books-page #celtic-subnav-daily { justify-content:flex-start; padding-left:24px; }
}
@media (max-width:900px) {
  .celtic-books-page .celtic-hero__left { display:contents; }
  .celtic-books-page .celtic-hero__callout { position:relative; inset:auto; transform:none; box-sizing:border-box; }
  .celtic-books-page .celtic-subnav { min-height:63px; }
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__callout { position: relative; z-index: 3; }
}
@media (min-width: 901px) {
  .celtic-books-page #top-navigation { display:flex; align-items:center; gap:0; }
  .celtic-books-page #top-navigation nav { margin:0 16px 0 auto; }
  .celtic-books-page .celtic-site-motto { flex:0 0 auto; }
}

/* 2026-10-06 rubricated initial: only the C of CELTIC in red, after the selective
   red initials of medieval Welsh manuscripts. Modern display colour, lifted to
   >=3:1 on the hero green; not a measured pigment value. */
.celtic-books-page .celtic-hero__title > span:first-child::first-letter {
  color: #c4553f;
}

/* 2026-10-06 CELTIC lettering: broad-nib capitals derived from the Black Book of
   Carmarthen (SVG mask over the live heading text), vellum-white, with one rubricated
   initial C. Provenance: docs/design/pilots/celtic-books/experiments/source-derived-hero-study/README.md */
.celtic-books-page .celtic-hero {
  --celtic-vellum: #f1e8d4;
  --celtic-rubric: #c4553f;
  --celtic-companion-ink: #d9cba8;
  --celtic-celtic-h: clamp(72px, 20.5vw, 120px);
}
@supports ((mask-image: url("#m")) or (-webkit-mask-image: url("#m"))) {
  .celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic {
    position: relative;
    display: block;
    /* viewBox -12 -20 396.3 132: 100 units of cap height, glyphs start at x=0 */
    width: calc(var(--celtic-celtic-h) * 396.3 / 132);
    height: var(--celtic-celtic-h);
    margin: 0 0 0 calc(var(--celtic-celtic-h) * -12 / 132);
    overflow: hidden;
    background-color: var(--celtic-vellum);
    color: transparent;
    font-size: 1px;
    line-height: 1;
    text-shadow: none;
    -webkit-mask: url("/Images/books/Celts/page-assets/celtic-books-title-celtic-black-book.svg") no-repeat 0 0 / 100% 100%;
    mask: url("/Images/books/Celts/page-assets/celtic-books-title-celtic-black-book.svg") no-repeat 0 0 / 100% 100%;
  }
  /* the rubricated initial: same viewBox, so it registers exactly over the C */
  .celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--celtic-rubric);
    -webkit-mask: url("/Images/books/Celts/page-assets/celtic-books-title-celtic-black-book-initial.svg") no-repeat 0 0 / 100% 100%;
    mask: url("/Images/books/Celts/page-assets/celtic-books-title-celtic-black-book-initial.svg") no-repeat 0 0 / 100% 100%;
  }
}
.celtic-books-page .celtic-hero__title > span:last-child {
  color: var(--celtic-companion-ink);
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  letter-spacing: .16em;
}

@media (min-width: 901px) {
  .celtic-books-page .celtic-hero { --celtic-celtic-h: clamp(84px, 7.7vw, 118px); }
  /* Title block centred in the field above the tabs; the quotation sits beside it
     and shares its floor, with open space between and around them. */
  .celtic-books-page .celtic-hero__left {
    grid-template-columns: max-content minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto minmax(0, .8fr) 88px;
  }
  .celtic-books-page .celtic-hero__editorial {
    grid-column: 1;
    grid-row: 2;
    padding: 0 0 0 clamp(24px, 2.3vw, 50px);
  }
  .celtic-books-page .celtic-hero__eyebrow { margin-bottom: 2px; }
  .celtic-books-page .celtic-hero__title { margin: 0; }
  .celtic-books-page .celtic-hero__title > span:last-child {
    margin-top: calc(var(--celtic-celtic-h) * -.04);
    font-size: calc(var(--celtic-celtic-h) * .2);
    line-height: 1.1;
  }
  .celtic-books-page .celtic-hero__quote {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    justify-self: start;
    max-width: 15em;
    padding: 0 0 2px clamp(34px, 4.2vw, 76px);
    text-align: left;
  }
  .celtic-books-page .celtic-hero__quote-welsh { margin-bottom: 6px; color: #e8dab5; font-size: 18px; line-height: 1.3; }
  .celtic-books-page .celtic-hero__quote-attribution { margin-top: 0; color: #c9ad6e; font-size: 12.5px; letter-spacing: .04em; }
  .celtic-books-page .celtic-hero__quote-popover { right: auto; left: clamp(34px, 4.2vw, 76px); }
  .celtic-books-page .celtic-hero__callouts { grid-row: 4; }
}
@media (max-width: 900px) {
  .celtic-books-page .celtic-hero__quote-break { display: none; }
  .celtic-books-page .celtic-hero__title > span:last-child {
    margin-top: 2px;
    font-size: calc(var(--celtic-celtic-h) * .25);
    letter-spacing: .13em;
  }
}

/* 2026-10-06 title lock-up (Webwright Bridge Case 20261006-062745): CELTIC at 81% about its
   centre; HISTORY BOOKS offset right/down in proportion to the title size. Transform and
   relative offsets add no layout shift, so BOOKS, the quote and the tab row do not move.
   The offset is gated to >=1280px: below that it would crowd the quotation. */
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic {
    transform: scale(.81);
  }
}
@media (min-width: 1280px) {
  .celtic-books-page .celtic-hero__title > span:last-child {
    position: relative;
    left: calc(var(--celtic-celtic-h) * .4329);
    top: calc(var(--celtic-celtic-h) * .0577);
  }
}

/* 2026-10-06 "About these images": credits and provenance for the images used in the hero. */
.celtic-books-page .celtic-hero__artwork { position: relative; }
.celtic-books-page .celtic-hero__credits-link {
  position: absolute;
  z-index: 3;
  right: 10px;
  bottom: 8px;
  margin: 0;
  padding: 3px 8px;
  border: 0;
  border-radius: 3px;
  background: rgba(8, 20, 12, .55);
  color: #efe4c6;
  font: 400 12px/1.2 Georgia, serif;
  letter-spacing: .02em;
  cursor: pointer;
}
.celtic-books-page .celtic-hero__credits-link:hover,
.celtic-books-page .celtic-hero__credits-link:focus-visible { background: rgba(8, 20, 12, .8); text-decoration: underline; }
.celtic-books-page .celtic-credits {
  box-sizing: border-box;
  width: min(560px, calc(100vw - 32px));
  max-height: min(80vh, 640px);
  padding: 0;
  border: 1px solid rgba(183, 152, 83, .5);
  border-radius: 6px;
  background: #fbf6ea;
  color: #2f281d;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
}
.celtic-books-page .celtic-credits::backdrop { background: rgba(4, 14, 8, .6); }
.celtic-books-page .celtic-credits__head {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #fbf6ea;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px 10px;
  border-bottom: 1px solid rgba(114, 88, 53, .25);
}
.celtic-books-page .celtic-credits__head h2 {
  margin: 0;
  color: #183d2b;
  font: 400 20px/1.2 "Source Serif 4", Georgia, serif;
  letter-spacing: .02em;
}
.celtic-books-page .celtic-credits__close {
  flex: 0 0 44px;
  min-height: 44px;
  padding: 0;
  transform: none;
  border: 0;
  background: none;
  color: #4a3d2b;
  font: 26px/1 Georgia, serif;
  cursor: pointer;
}
.celtic-books-page .celtic-credits__list { margin: 0; padding: 6px 18px 16px; list-style: none; }
.celtic-books-page .celtic-credits__list li {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(114, 88, 53, .15);
}
.celtic-books-page .celtic-credits__list li:last-child { border-bottom: 0; }
.celtic-books-page .celtic-credits__list li.celtic-credits__textonly { grid-template-columns: minmax(0, 1fr); }
.celtic-books-page .celtic-credits__list img { width: 96px; height: auto; border-radius: 3px; align-self: start; }
.celtic-books-page .celtic-credits__list h3 { margin: 0 0 4px; padding: 0; color: #183d2b; font: 600 15px/1.3 "Source Serif 4", Georgia, serif; }
.celtic-books-page .celtic-credits__list p { margin: 0 0 5px; font: 400 14px/1.45 "Source Serif 4", Georgia, serif; }
.celtic-books-page .celtic-credits__list p.celtic-credits__source { color: #5d5140; font-size: 12.5px; }
.celtic-books-page .celtic-credits__source a { color: #1d5236; }
.celtic-books-page .celtic-credits__list cite { font-style: italic; }

/* 2026-10-06 CELTIC set in "Llyfr Du" (test build): a small-caps typeface constructed from the
   Black Book of Carmarthen. The heading text is "Celtic": the capital key gives the full capital,
   lowercase keys give small capitals. Replaces the SVG-mask lettering above (same element). */
@font-face {
  font-family: "Llyfr Du";
  /* COLRv1 colour build first (measured ink density along each stroke; Chrome, Edge, Firefox).
     Browsers without COLRv1 support skip it via tech() and use the plain build. */
  src: url("/Fonts/LlyfrDu-Ink-Test.woff2?v=29") format("woff2") tech(color-COLRv1),
       url("/Fonts/LlyfrDu-Test.woff2?v=29") format("woff2");
  font-display: swap;
}
.celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic {
  -webkit-mask: none;
  mask: none;
  width: auto;
  height: auto;
  margin: 0 0 0 -2px;
  overflow: visible;
  background: none;
  color: #f6f1e6; /* white vellum */
  font: 400 calc(var(--celtic-celtic-h) * 1.2625) / .82 "Llyfr Du", Georgia, serif; /* capitals now 1.25x in the font */
  letter-spacing: 0;
  text-shadow: none;
}
.celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic::after { content: none; }
/* Two-line hanging initial, as in the Black Book (red G, f.18r; f.24r): the C's top is level with
   the top of the small capitals and it hangs to the HISTORY BOOKS baseline, both lines beside it. */
.celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic::first-letter {
  float: left;
  /* size and drop measured in the browser: top level with the small capitals, foot on the
     HISTORY BOOKS baseline (0px at 1440, within 2px at 1280 and 1920) */
  margin: var(--celtic-initial-drop, .077em) var(--celtic-initial-gap, .03em) 0 0;
  color: #c4553f;
  font-size: var(--celtic-initial-size, 1.553em);
  line-height: .7;
}
.celtic-books-page .celtic-hero__title > span:last-child { position: static; }
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic { transform: none; }
}

/* 2026-10-06 review: HISTORY BOOKS and the Taliesin line in Llyfr Du. */
.celtic-books-page .celtic-hero__title > span:last-child {
  color: #e9dfc4;
  font-family: "Llyfr Du", "Source Serif 4", Georgia, serif;
  letter-spacing: .08em;
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__title > span:last-child { margin-top: calc(var(--celtic-celtic-h) * .12); font-size: calc(var(--celtic-celtic-h) * .23); line-height: 1; }
}
@media (max-width: 900px) {
  .celtic-books-page .celtic-hero__title > span:last-child { font-size: calc(var(--celtic-celtic-h) * .27); }
}
.celtic-books-page .celtic-hero__quote-welsh {
  font-family: "Llyfr Du", Georgia, serif;
  font-style: normal;
  font-size: 27px;
  line-height: 1.25;
  letter-spacing: .01em;
}
.celtic-books-page .celtic-hero__quote-info { font-size: 13px; vertical-align: .35em; }
@media (min-width: 901px) {
  /* One ruled grid for title and quotation (pitch = gap between the title's two baselines). */
  .celtic-books-page .celtic-hero { --celtic-rule-pitch: calc(var(--celtic-celtic-h) * .308); }
  .celtic-books-page .celtic-hero__quote { align-self: start; }
  .celtic-books-page .celtic-hero__quote-welsh {
    margin: 0;
    line-height: var(--celtic-rule-pitch);
  }
  .celtic-books-page .celtic-hero__quote-attribution {
    line-height: var(--celtic-rule-pitch);
  }
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__quote { transform: translateY(calc(var(--celtic-celtic-h) * .70)); }
  .celtic-books-page .celtic-hero__quote-attribution { position: relative; top: calc(var(--celtic-celtic-h) * .04); }
}
@media (min-width: 901px) {
  /* Faint ruling, as on the Black Book's pages. As measured there (specimen/ruling: 94 lines,
     7 folios) each line's writing floats ~0.3 of its own x-height ABOVE its rule; rules are one
     grid. Rules: .774h, 1.082h (0.3 x-height under CELTIC's small capitals, baseline .92h) and
     1.39h (under HISTORY BOOKS, baseline 1.344h); the quotation floats above rules 1 and 2. */
  .celtic-books-page .celtic-hero__title { position: relative; z-index: 0; }
  .celtic-books-page .celtic-hero__title::before {
    --rule: rgba(233, 223, 196, .2);
    --gut: clamp(24px, 2.3vw, 50px);
    --vx: calc(var(--gut) * .45 + var(--celtic-celtic-h) * .141);   /* the vertical bounding rule */
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: calc(var(--gut) * -.45);
    width: calc(60vw - var(--gut) * 1.4);
    height: calc(var(--celtic-celtic-h) * 1.55);
    pointer-events: none;
    background:
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--celtic-celtic-h) * .158) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--celtic-celtic-h) * .466) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--celtic-celtic-h) * .774) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--celtic-celtic-h) * 1.082) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--celtic-celtic-h) * 1.39) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(180deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) 0 / 1px 100% no-repeat;
  }
}

@media (min-width: 901px) {
  /* Hand on the ruling (specimen/ruling, 94 lines on 7 folios):
     - line spacing 2.4 x-heights: the quotation is sized so the shared rule pitch is 2.4 of its
       small-capital height;
     - writing runs parallel to its rule (gap changes only 0.08 x-height over a line), and rule and
       writing rise together to the right (writing +0.22 deg median, 6 of 7 folios rise; up to
       +0.86). Applied as one shear of the whole left field so every text-to-rule gap is kept
       exactly; the tabs are sheared back so the navigation stays level. */
  .celtic-books-page .celtic-hero__quote-welsh { font-size: calc(var(--celtic-rule-pitch) / 2.4 / .39); }
  .celtic-books-page .celtic-hero__quote-line { display: inline-block; transform-origin: 0 100%; }
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__quote { max-width: none; }
  .celtic-books-page .celtic-hero__quote-welsh { white-space: nowrap; }
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero { --celtic-line-rise: -.3deg; }   /* rising to the right */
  /* the transform makes the field a stacking context: keep it above the hero's atmosphere wash (z 1) */
  .celtic-books-page .celtic-hero__left { position: relative; z-index: 2; transform: skewY(var(--celtic-line-rise)); transform-origin: 0 50%; }
  .celtic-books-page .celtic-hero__callouts { transform: skewY(calc(var(--celtic-line-rise) * -1)); transform-origin: 0 50%; }
}
@media (min-width: 901px) {
  /* The frame, as measured (specimen/frame: 51 lines on 4 folios, f.18r initial):
     - one rule per line, ruled across the whole block BEFORE writing, so the grid continues above
       the writing and behind large letters (the line above is the "top" rule: ascenders cross it);
     - the vertical bounding rule is where letter bodies start (median +0.02 x-height); hairlines and
       tails cross into the margin (median 0.27, up to 0.6 x-height);
     - a large initial stands ~17% of its width out into the margin (red G, f.18r).
     The kicker and text bodies start on the rule; the title is moved left so the red C projects. */
  .celtic-books-page .celtic-hero__title { margin-left: calc(var(--celtic-celtic-h) * -.141); }
}
/* The initial hangs from the top construction line (bowl top on the rule above CELTIC) and drops a
   quarter-pitch below the rule under HISTORY BOOKS; its hairline flourish rises ~1.26 pitches above
   the top rule. Measured on the red G of f.18r (specimen/README). ss01 = the flourished C. */
.celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic::first-letter { font-feature-settings: "ss01"; }
@media (min-width: 901px) {
  /* Headroom for the initial's flourish: the title block sits lower in the field, and the kicker's
     rule starts after the flourish instead of being crossed by it. */
  .celtic-books-page .celtic-hero__left { grid-template-rows: minmax(0, 1fr) auto minmax(0, var(--celtic-below, .45fr)) 88px; }
  .celtic-books-page .celtic-hero__eyebrow::after { margin-left: calc(var(--celtic-celtic-h) * .45); }
  /* text closer to the initial, as beside the red G */
  .celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic::first-letter { margin-right: -.06em; }
}

/* 2026-10-06 the hanging initial as its own element (cross-browser). The ::first-letter float
   used before is laid out from the line height in Chrome but from the glyph in Firefox, so the C
   landed differently. Now: absolutely positioned from the font's metrics (ascent .8em, descent .2em,
   USE_TYPO_METRICS), with the geometry already fitted to the ruling: font-size 1.9607h, baseline at
   1.4254h below the title top (bowl on the top rule, foot a quarter-pitch under HISTORY BOOKS' rule).
   h = --celtic-celtic-h. Screen readers still read "Celtic". */
.celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic::first-letter {
  float: none; margin: 0; color: inherit; font-size: inherit; line-height: inherit; font-feature-settings: normal;
}
.celtic-books-page .celtic-hero__title { position: relative; }
.celtic-books-page .celtic-hero__initial {
  position: absolute;
  left: 0;
  top: calc(var(--celtic-celtic-h) * -.120);
  color: #c4553f;
  font-size: calc(var(--celtic-celtic-h) * 1.986);
  line-height: 1;
  font-feature-settings: "ss03";   /* AUTHENTIC red initial C of f.35v with its green ornament (ss01/ss02 = earlier composite) */
}
.celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic,
.celtic-books-page .celtic-hero__title > span:last-child { padding-left: calc(var(--celtic-celtic-h) * 1.22); }
.celtic-books-page .celtic-hero__quote-attribution {
  font-family: "Llyfr Du", Georgia, serif;
  font-style: normal;
  letter-spacing: .04em;
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__quote-attribution { font-size: calc(var(--celtic-rule-pitch) / 2.4 / .39 * .62); }
}
/* Chrome disables contextual alternates (calt) when letter-spacing is non-zero; the font's
   capital-height opening quote depends on calt, so keep spacing at 0 and request it explicitly. */
.celtic-books-page .celtic-hero__quote-welsh,
.celtic-books-page .celtic-hero__quote-attribution,
.celtic-books-page .celtic-hero__title > span { font-feature-settings: "calt" 1, "kern" 1; }
.celtic-books-page .celtic-hero__quote-welsh { letter-spacing: 0; }
@media (min-width: 901px) {
  /* Hero at its accepted height; the whole title system (initial, CELTIC, HISTORY BOOKS, ruling,
     quotation - all defined in units of --celtic-celtic-h) is scaled down so the initial's full,
     traced flourish fits inside the field. */
  .celtic-books-page .celtic-hero { --celtic-celtic-h: calc(clamp(84px, 7.7vw, 118px) * var(--celtic-title-scale, .7)); }
}
@media (min-width: 901px) {
  /* the kicker starts just right of the initial's flourish (flourish at ~0.6-0.67h from the rule) */
  .celtic-books-page .celtic-hero__eyebrow { padding-left: calc(var(--celtic-celtic-h) * 1.25); }
  .celtic-books-page .celtic-hero__eyebrow::after { margin-left: 0; }
}

/* 2026-10-06 Title laid out on the measured proportions of f.35v (red initial C of "Cantrigis").
   B = bowl height of the initial. On f.35v: two lines of writing beside the initial, letter body
   0.154B, baselines at 0.328B and 0.803B below the bowl top (pitch 0.475B), the writing starting
   0.07B right of the initial; each rule 0.29 x-height under its line. "eltic" and HISTORY BOOKS are
   set at the same size and weight (small capitals), as the scribe's writing is.
   Glyph C.ss03: bowl 0-660 units, ink x 41-626, hairlines to 779 / -66 (units per 1000 em). */
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero {
    --B: clamp(112px, 9vw, 140px);
    --ms-s: calc(var(--B) * .394);          /* small-capital body 0.154B (body = .391em) */
    --ms-lh: calc(var(--B) * .475);         /* line pitch */
    --ms-text-x: calc(var(--B) * 1.02);     /* initial ink right edge 0.948B + gap 0.07B */
  }
  .celtic-books-page .celtic-hero__title {
    position: relative;
    margin: calc(var(--B) * .23) 0 0;       /* headroom for the initial's upper hairline (0.18B) */
    padding: 0 0 calc(var(--B) * .12);
    min-height: var(--B);
    transform: none;
  }
  .celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic,
  .celtic-books-page .celtic-hero__title > span:last-child {
    position: static;
    left: auto; top: auto;
    display: block;
    width: auto; height: auto;
    margin: 0;
    padding-left: var(--ms-text-x);
    transform: none;
    color: #f6f1e6;
    font: 400 var(--ms-s) / var(--ms-lh) "Llyfr Du", Georgia, serif;
    letter-spacing: .02em;
    text-transform: none;
  }
  .celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic { margin-top: calc(var(--B) * -.082); }
  .celtic-books-page .celtic-hero__title > span:last-child { text-transform: lowercase; }   /* small capitals, same as "eltic" */
  .celtic-books-page .celtic-hero__initial {
    left: 0;
    top: calc(var(--B) / .66 * -.14);       /* bowl top on the title's top edge */
    font-size: calc(var(--B) / .66);
  }
  .celtic-books-page .celtic-hero__eyebrow { padding-left: var(--ms-text-x); }
  /* ruling: one rule per line, 0.29 x-height under it; regular pitch above and below */
  .celtic-books-page .celtic-hero__title::before {
    top: calc(var(--B) * -.2);
    height: calc(var(--B) * 1.7);
    transform: none;
    --vx: calc(var(--B) * .21 + var(--gut) * .45);
    background:
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--B) * .098) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--B) * .573) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--B) * 1.048) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(90deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) calc(var(--B) * 1.523) / calc(100% - var(--vx)) 1px no-repeat,
      repeating-linear-gradient(180deg, var(--rule) 0 2px, transparent 2px 6px) var(--vx) 0 / 1px 100% no-repeat;
  }
  /* the quotation in the same writing size and pitch */
  .celtic-books-page .celtic-hero__quote-welsh { font-size: var(--ms-s); line-height: var(--ms-lh); }
  .celtic-books-page .celtic-hero__quote-attribution { font-size: calc(var(--ms-s) * .8); line-height: var(--ms-lh); top: 0; }
}
@media (min-width: 901px) {
  /* three ruled lines (quotation + attribution) above the tabs: the title starts at the top of the
     field and BOOKS sits in the headroom beside the initial's upper hairline */
  .celtic-books-page .celtic-hero { --B: clamp(100px, 7.7vw, 111px); }
  .celtic-books-page .celtic-hero__left { grid-template-rows: 0 auto minmax(0, 1fr) 88px; }
  .celtic-books-page .celtic-hero__editorial { position: relative; z-index: 3; }
  .celtic-books-page .celtic-hero__eyebrow {
    position: absolute;
    top: calc(var(--B) * .02);
    left: clamp(24px, 2.3vw, 50px);
    margin: 0;
    font-size: calc(var(--B) * .11);
  }
  .celtic-books-page .celtic-hero__quote { align-self: start; transform: translateY(var(--q-shift, 0px)); }
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__quote { --q-shift: calc(var(--B) * (.27 - .082)); }   /* = title headroom + first-line offset: shared baselines */
  .celtic-books-page .celtic-hero__quote-attribution { position: relative; top: calc(var(--B) * .0234); }   /* on line 3 */
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__editorial { padding-top: calc(var(--B) * .27); }
  .celtic-books-page .celtic-hero__title { margin-top: 0; }
}

/* 2026-10-07 Webwright bridge cases: desktop hero placement and quote typography. */
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__title { translate: 0 18px; }
  .celtic-books-page .celtic-hero__eyebrow { translate: -121.6px 5.6px; }
  .celtic-books-page .celtic-hero__title > span.celtic-hero__title-celtic { translate: 18px 0; }
  .celtic-books-page .celtic-hero__title > span:last-child { translate: 27px 0; }
  .celtic-books-page .celtic-hero__quote {
    translate: 46.8px 48.6px;
    transform: translateY(var(--q-shift, 0px)) translate(12px, -5.4px);
  }
  .celtic-books-page .celtic-hero__quote-welsh {
    font-size: calc(var(--ms-s) * .5);
    line-height: calc(var(--ms-lh) * .5);
  }
  .celtic-books-page .celtic-hero__quote-attribution {
    font-size: calc(var(--ms-s) * .4);
    line-height: calc(var(--ms-lh) * .5);
    top: calc(var(--B) * .0117);
  }
  .celtic-books-page .celtic-hero__quote-info { margin-left: 3.5px; vertical-align: .175em; }
  .celtic-books-page .celtic-hero__quote-trigger { transform: translate(67.2px, 32px); }
}

/* Keep the existing Glastonbury photograph above the archaeological background composite. */
.celtic-books-page .celtic-hero__artwork { z-index: 4; }

/* 2026-10-07: stacked mobile hero has no image seam; use a quiet mirror photograph rather than the desktop shield composite. */
@media (max-width: 760px) {
  .celtic-books-page .celtic-hero__archaeological-background {
    background-image: linear-gradient(90deg, rgba(4, 22, 13, .48), rgba(8, 26, 17, .38)),
      url("/Images/books/Celts/page-assets/celtic-books-hero-artefacts-mobile.png"),
      radial-gradient(ellipse at 32% 25%, #304732 0%, transparent 52%),
      radial-gradient(ellipse at 12% 83%, #223c28 0%, transparent 48%),
      linear-gradient(115deg, #061b11, #193522 48%, #0a2017 70%);
    background-size: cover, auto 100%, auto, auto, auto;
    background-position: center, center, center, center, center;
  }
}

/* 2026-10-07: one photographic composition sized to the existing 60% editorial field. */
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero__archaeological-background {
    background: #081c13 url("/Images/books/Celts/page-assets/celtic-books-hero-artefact-background-v4-composed.png") left top / calc(60% + 100px) 100% no-repeat;
  }
}

/* 2026-10-07: blend the existing scene over 100px of the photographic background; image sizing and crop stay unchanged. */
@media (min-width: 901px) {
 .celtic-books-page .celtic-hero__artwork {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 100px);
  mask-image: linear-gradient(90deg, transparent, #000 100px);
 }
}

/* 2026-10-07 Wandsworth photographic contour composition.
   The source rim supplies the seam for the full hero height. All scene sizing stays as before. */
@media (min-width: 901px) {
 .celtic-books-page .celtic-hero__archaeological-background {
  right: auto;
  width: calc(60% + 100px);
  background: #051911 url("/Images/books/Celts/page-assets/celtic-books-hero-wandsworth-v5.png") right top / auto 100% no-repeat;
 }
 .celtic-books-page .celtic-hero__artwork {
  -webkit-mask-image: url("/Images/books/Celts/page-assets/celtic-books-hero-wandsworth-scene-mask.png");
  mask-image: url("/Images/books/Celts/page-assets/celtic-books-hero-wandsworth-scene-mask.png");
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
  -webkit-mask-position: left top;
  mask-position: left top;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
 }
}

/* 2026-10-13: persistent catalogue navigation and tagged category results. */
.celtic-books-page #celtic-books-grid[hidden],
.celtic-books-page #celtic-empty-state[hidden],
.celtic-books-page #celtic-catalogue-error[hidden] { display: none !important; }
.celtic-books-page #celtic-catalogue-nav :is(a, button):focus-visible,
.celtic-books-page .celtic-empty-state a:focus-visible {
  outline: 2px solid #c9a45c;
  outline-offset: -3px;
}
.celtic-books-page #celtic-catalogue,
.celtic-books-page #clt-intro,
.celtic-books-page .celtic-category-anchor {
  scroll-margin-top: calc(var(--celtic-sticky-height, 170px) + 16px);
}
.celtic-books-page .celtic-category-anchor { display: block; block-size: 0; }
.celtic-books-page #celtic-results-title:focus-visible { outline: 2px solid #9b7942; outline-offset: 4px; }
.celtic-books-page .celtic-results-count { margin: 8px 0 0; color: #493b2c; font: 600 14px/1.4 "Source Serif 4", Georgia, serif; }
.celtic-books-page .celtic-empty-state,
.celtic-books-page .celtic-catalogue-error {
  padding: 22px 24px;
  margin: 18px 0;
  border: 1px solid #d5c5b5;
  border-radius: 6px;
  background: #fbf6ea;
  color: #493b2c;
  font-family: "Source Serif 4", Georgia, serif;
}
.celtic-books-page .celtic-empty-state h3 { margin: 0 0 9px; color: #153b28; font-size: 21px; font-weight: 500; }
.celtic-books-page .celtic-empty-state p { margin: 0 0 14px; }
.celtic-books-page .celtic-empty-state a { display: inline-block; min-height: 32px; padding: 7px 13px; border: 1px solid #9b7942; border-radius: 3px; color: #153b28; font-weight: 600; }
.celtic-books-page #Footer { box-sizing: border-box; width: 100%; }
.celtic-books-page .celtic-editorial-notes { margin: 22px 0; color: #493b2c; }
.celtic-books-page .celtic-editorial-notes > summary { padding: 12px 0; cursor: pointer; font-family: "Source Serif 4", Georgia, serif; }
.celtic-books-page .celtic-cover-fallback { display: flex; flex-direction: column; justify-content: center; gap: 14px; box-sizing: border-box; min-height: 220px; padding: 18px 12px; color: #efe8d7; background: #173b2c; text-align: center; overflow-wrap: anywhere; }
.celtic-books-page .celtic-cover-fallback small { font-size: 11px; font-weight: 400; }
@media (max-width: 600px) {
  .celtic-books-page #featured .r4h-book-grid { grid-template-columns: 1fr; }
  .celtic-books-page #featured .r4h-book-card__cover-img { height: 235px; object-fit: contain; }
  .celtic-books-page .celtic-empty-state { padding: 18px; }
}

/* 2026-10-13: one illustrated Celtic navigator; desktop artwork stays sticky. */
.celtic-books-page #celtic-catalogue-nav .celtic-subnav {
  justify-content: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  gap: 0;
}
.celtic-books-page #celtic-catalogue-nav .celtic-subnav::-webkit-scrollbar { display: none; }
.celtic-books-page #celtic-catalogue-nav .celtic-subnav > a {
  flex: 0 0 auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  line-height: 1.2;
  white-space: nowrap;
}
.celtic-books-page #celtic-catalogue-nav .celtic-subnav > a.is-active {
  background: #efe8d7;
  color: #153b28;
  font-weight: 700;
}
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero {
    position: sticky;
    top: var(--celtic-site-nav-height, 63px);
    z-index: 90;
  }
}
@media (max-width: 900px) {
  .celtic-books-page #celtic-catalogue-nav {
    position: sticky;
    top: var(--celtic-site-nav-height, 63px);
    z-index: 90;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #071b12;
    box-sizing: border-box;
    overflow: visible;
  }
  .celtic-books-page #celtic-catalogue-nav .celtic-hero__callout {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 72px;
    width: auto;
    min-width: 0;
    padding: 7px 4px;
    transform: none;
  }
  .celtic-books-page #celtic-catalogue-nav .celtic-hero__callout img { width: 28px; height: 24px; margin: 0; }
  .celtic-books-page #celtic-catalogue-nav .celtic-hero__callout h2 { text-align: center; font-size: 12px; white-space: normal; }
  .celtic-books-page #celtic-catalogue-nav .celtic-subnav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    height: auto;
    min-height: 44px;
    padding: 0 6px;
    box-sizing: border-box;
  }
  .celtic-books-page #celtic-catalogue-nav .celtic-subnav > a { min-height: 44px; }
}


/* 2026-10-13: desktop scroll contraction; original scene and manuscript title retained. */
.celtic-books-page .celtic-scroll-title-layer[hidden],
.celtic-books-page .celtic-scroll-title-home[hidden] { display: none; }
@media (min-width: 901px) {
  .celtic-books-page .celtic-hero.celtic-scroll-ready {
    grid-template-rows: minmax(0, 1fr);
    height: var(--celtic-scroll-height);
    margin-bottom: var(--celtic-scroll-space);
  }
  .celtic-books-page .celtic-scroll-ready .celtic-hero__artwork {
    width: var(--celtic-scroll-scene-width);
    justify-self: end;
  }
  .celtic-books-page .celtic-scroll-ready .celtic-hero__left {
    grid-template-rows: 0 minmax(0, 1fr) 0 88px;
    min-height: 0;
  }
  .celtic-books-page .celtic-scroll-ready .celtic-hero__quote,
  .celtic-books-page .celtic-scroll-ready .celtic-hero__eyebrow {
    opacity: var(--celtic-scroll-fade, 1);
  }
  .celtic-books-page .celtic-quote-hidden .celtic-hero__quote {
    visibility: hidden;
    pointer-events: none;
  }
  .celtic-books-page .celtic-site-brand {
    transform: scale(var(--celtic-brand-scale, 1));
    transform-origin: left center;
  }
  .celtic-books-page .celtic-scroll-title-layer {
    position: fixed;
    top: 0;
    left: 0;
    width: max-content;
    margin: 0 !important;
    padding: 0 !important;
    transform-origin: 0 0;
    pointer-events: none;
    z-index: 1;
  }
  .celtic-books-page .celtic-scroll-title-layer .celtic-hero__title { transform: skewY(-.3deg); }
}


/* 2026-10-14: separate the reading field from the Celtic nav; hidden-scrollbar category rails. */
.celtic-books-page .celtic-nav-separator {
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 89;
  background: var(--celtic-page-field, #f4ecd9);
  pointer-events: none;
}
.celtic-books-page #celtic-catalogue-nav .celtic-category-rail {
  grid-column: 1 / -1;
  grid-row: 3;
  display: flex;
  align-self: stretch;
  min-width: 0;
  width: 100%;
  height: 34px;
  background: #BEB7AD;
}
.celtic-books-page #celtic-catalogue-nav .celtic-category-rail[hidden],
.celtic-books-page #celtic-catalogue-nav .celtic-rail-arrow[hidden] { display: none !important; }
.celtic-books-page #celtic-catalogue-nav .celtic-category-rail .celtic-subnav {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  padding: 0;
  scrollbar-width: none;
}
.celtic-books-page #celtic-catalogue-nav .celtic-category-rail .celtic-subnav::-webkit-scrollbar { display: none; }
.celtic-books-page #celtic-catalogue-nav .celtic-rail-arrow {
  flex: 0 0 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: 34px;
  height: 34px;
  margin: 0;
  padding: 0;
  border: 0;
  border-inline: 1px solid rgba(72, 38, 36, .18);
  background: #BEB7AD;
  color: #482624;
  font: 400 28px/1 Georgia, serif;
  cursor: pointer;
}
.celtic-books-page #celtic-catalogue-nav .celtic-rail-arrow:hover:not(:disabled) { background: #efe8d7; }
.celtic-books-page #celtic-catalogue-nav .celtic-rail-arrow:disabled { color: rgba(72, 38, 36, .3); cursor: default; }
@media (max-width: 900px) {
  .celtic-books-page #celtic-catalogue-nav .celtic-category-rail { grid-row: 2; height: 44px; }
  .celtic-books-page #celtic-catalogue-nav .celtic-rail-arrow { flex-basis: 44px; width: 44px; height: 44px; }
}


/* 2026-10-14: desktop title stays in the illustrated header; subjects make room beside it. */
@media (min-width: 901px) {
  .celtic-books-page .celtic-scroll-ready .celtic-hero__quote:not([open]) { z-index: 2; }
  .celtic-books-page .celtic-scroll-title-layer {
    position: absolute;
    z-index: 5;
  }
  .celtic-books-page .celtic-scroll-title-layer .celtic-hero__title::before {
    width: var(--celtic-title-rule-width);
  }
  .celtic-books-page .celtic-scroll-ready #celtic-catalogue-nav {
    position: absolute;
    inset: auto auto 0 0;
    grid-area: auto;
    overflow: visible;
    width: var(--celtic-desktop-nav-width);
    grid-template-columns: minmax(0, var(--celtic-subject-slot, 0px)) repeat(3, minmax(0, 1fr));
  }
  .celtic-books-page .celtic-scroll-ready #celtic-catalogue-nav > .celtic-hero__callout:nth-child(1) { grid-column: 2; }
  .celtic-books-page .celtic-scroll-ready #celtic-catalogue-nav > .celtic-hero__callout:nth-child(2) { grid-column: 3; }
  .celtic-books-page .celtic-scroll-ready #celtic-catalogue-nav > .celtic-hero__callout:nth-child(3) { grid-column: 4; }
  .celtic-books-page .celtic-scroll-ready #celtic-catalogue-nav > .celtic-hero__callout {
    translate: 0 var(--celtic-subject-rise, 0px);
  }
  .celtic-books-page .celtic-scroll-ready #celtic-catalogue-nav > .celtic-category-rail {
    width: var(--celtic-category-width);
  }
}
