/* 2026-10-08: Caractacus article only. Implements CELTIC_ARTICLE_STYLE_GUIDE.md.
   Shared navigation, bookshop styles and historical content remain independent. */
@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; }
@font-face { font-family: "Llyfr Du"; 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; }
.caractacus-content-page { margin: 0; background: #fff; }
.caractacus-content-page #top-navigation { position: relative !important; display: flex; align-items: center; width: 100%; max-width: none; height: 63px !important; min-height: 63px !important; margin: 0; padding: 0 clamp(16px,2.3vw,50px) !important; box-sizing: border-box; background: linear-gradient(100deg,#163e2b,#071e15 65%,#123625) !important; }
.caractacus-content-page #top-navigation::before,.caractacus-content-page #top-navigation::after { content: none; }
.caractacus-content-page #top-navigation > .caractacus-site-brand { display: flex; align-items: center; gap: 14px; margin: 0 !important; padding: 0; flex: 0 0 auto; text-decoration: none; letter-spacing: 0; }
.caractacus-content-page #top-navigation .caractacus-site-brand #logo { position: static !important; display: flex; align-items: center; margin: 0 !important; padding: 0; width: auto; transform: none !important; }
.caractacus-content-page .caractacus-site-brand #logo > span { margin-right: 2px; padding: 5px 6px; font-size: 13px; }
.caractacus-content-page .caractacus-site-brand__wordmark { color: #f7efdf; font: 425 clamp(27px,1.9vw,40px)/1 "Source Serif 4",Georgia,serif; letter-spacing: .005em; white-space: nowrap; }
.caractacus-content-page .caractacus-site-brand__wordmark small { display: block; margin-top: 4px; color: #d6c6a0; font: 8px/1.2 Arial,sans-serif; letter-spacing: .16em; }
.caractacus-content-page #top-navigation > nav > ul > li > a.celt-nav { background: #365e43 !important; }
.caractacus-content-page #top-navigation > nav > ul > li > a.roman-nav { background: linear-gradient(160deg,#a52d2e,#7e2025) !important; }
.caractacus-content-page #top-navigation > nav > ul > li:hover { background: #254c36; }
@media (min-width: 901px) {
 .caractacus-content-page #top-navigation > nav { position: static; flex: 0 0 auto; min-width: 0; width: auto !important; height: 63px; margin: 0 0 0 auto !important; padding: 0 0 0 24px !important; box-shadow: none; overflow: visible; }
 .caractacus-content-page #top-navigation > nav > ul { position: static; display: flex !important; align-items: center !important; justify-content: flex-end; gap: 12px; height: 63px !important; width: auto !important; margin: 0 !important; padding: 0 !important; transform: none !important; }
 .caractacus-content-page #top-navigation > nav > ul > li { position: static; float: none; display: block; flex: 0 0 auto; width: auto !important; height: 40px !important; min-height: 0 !important; padding: 0 !important; margin: 0; background: none; transform: none !important; }
 .caractacus-content-page #top-navigation > nav > ul > li > a { position: static !important; display: block !important; box-sizing: border-box; width: auto !important; height: 40px !important; min-height: 0 !important; padding: 11px 28px !important; margin: 0 !important; line-height: 18px !important; font-size: 16px; letter-spacing: .06em; transform: none !important; }
 .caractacus-content-page #top-navigation > nav > ul > li > div { top: 63px; margin-top: 0; }
}
@media (max-width: 900px) {
 .caractacus-content-page #top-navigation > .caractacus-site-brand { gap: 9px; }
 .caractacus-content-page .caractacus-site-brand__wordmark { font-size: clamp(18px,3.8vw,27px); }
 .caractacus-content-page .caractacus-site-brand__wordmark small { font-size: 6px; letter-spacing: .1em; }
 .caractacus-content-page .caractacus-site-brand #logo > span { font-size: 11px; padding: 4px; }
 .caractacus-content-page #top-navigation .mobile-nav-toggle { margin-left: auto !important; }
}
.caractacus-content-page .caractacus-page { width: 100%; max-width: none; padding: 0; margin: 0; color: #4a4a4a; font: 1.08rem/1.65 Arial,sans-serif; }
.caractacus-content-page .caractacus-page * { box-sizing: border-box; }
.caractacus-content-page .caractacus-hero { display: grid; grid-template-columns: minmax(280px,.9fr) minmax(0,1.6fr); width: 100%; margin: 0; background: #123625; }
.caractacus-content-page .caractacus-hero__title-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem,3vw,3rem); background: linear-gradient(100deg,rgba(6,37,22,.92),rgba(17,56,34,.85)),url('/Images/celtic_warrior/Caer_Caradog_Celtic_Warrior.png') 15% 65% / auto 500% no-repeat; }
.caractacus-content-page .caractacus-eyebrow { margin: 0 0 1rem; font: bold .82rem/1.4 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.caractacus-content-page .caractacus-hero .caractacus-eyebrow { color: #e3c68c; }
.caractacus-content-page .caractacus-hero h1 { display: flex; align-items: center; gap: 12px; min-height: 150px; padding: 14px 0; margin: .5rem 0 1rem; text-shadow: none; }
.caractacus-content-page .caractacus-title__initial { flex: 0 0 auto; color: #c4553f; font: 400 clamp(125px,10vw,170px)/.8 "Llyfr Du",Georgia,serif; font-feature-settings: "ss03"; }
.caractacus-content-page .caractacus-title__lines { display: flex; flex-direction: column; gap: 10px; min-width: 0; color: #f6f1e6; font: 400 clamp(26px,2.4vw,38px)/1.2 "Llyfr Du",Georgia,serif; text-transform: lowercase; }
.caractacus-content-page .caractacus-hero__intro { color: #f6f1e6; max-width: 34ch; font-size: 1rem; margin: 1rem 0 1.5rem; }
.caractacus-content-page .caractacus-hero__link { color: #f0d194; font: bold .9rem/1.5 Arial,sans-serif; text-decoration: underline; }
.caractacus-content-page .caractacus-hero__image { display: flex; flex-direction: column; justify-content: center; min-width: 0; margin: 0; padding: 0; background: #fff; }
.caractacus-content-page .caractacus-hero__image img { display: block; width: 100%; height: auto; margin: 0; max-width: none; }
.caractacus-content-page .caractacus-hero__image figcaption { padding: .8rem 1rem; background: #faf8f1; font-size: .8rem; line-height: 1.5; }
.caractacus-content-page .caractacus-page__content { max-width: 1480px; margin: 2rem auto; padding: 0 clamp(1rem,3vw,3rem); }
.caractacus-content-page #caractacus-reading-layout { display: grid; grid-template-columns: minmax(0,1fr) 285px; gap: 2rem; }
.caractacus-content-page #caractacus-reading-layout > #main-body { display: block; position: static; float: none; width: auto; max-width: none; padding: 0; margin: 0; min-width: 0; }
.caractacus-content-page #main-section { width: auto; max-width: none; padding: 0; margin: 0; }
.caractacus-content-page #main-section section { margin: 0 0 2.5rem; }
.caractacus-content-page #main-section p { margin: 1rem 0; font-size: inherit; line-height: 1.65; }
.caractacus-content-page .caractacus-page :is(h2,h3) { color: #164529; text-shadow: none; }
.caractacus-content-page #main-section h2 { font: 400 clamp(1.8rem,3vw,2.4rem)/1.2 Georgia,serif; margin: 0 0 1.5rem; padding: 0; }
.caractacus-content-page #main-section blockquote { margin: 1.5rem 0 1rem; padding: .5rem clamp(1rem,2vw,1.5rem); background: #f1f1f1; border-left: 4px solid #a35b50; color: #454545; font-style: normal; line-height: 1.65; }
.caractacus-content-page #main-section blockquote::before,.caractacus-content-page #main-section blockquote::after { content: none; }
.caractacus-content-page #main-section .caractacus-source { font-size: .88rem; }
.caractacus-content-page .caractacus-image-plate { margin: 2rem 0; padding: 1.25rem; background: #65634b; border: 1px solid #53523f; }
.caractacus-content-page .caractacus-image-plate a { display: block; padding: 1.25rem; background: #faf8f1; }
.caractacus-content-page .caractacus-image-plate img { display: block; width: auto; height: auto; max-width: 100%; max-height: 480px; object-fit: contain; margin: 0 auto; float: none; }
.caractacus-content-page .caractacus-image-plate figcaption { padding: 1rem 1.25rem; border-top: 1px solid #d5cbbb; background: #faf8f1; font-size: .9rem; }
.caractacus-content-page .caractacus-glossary { padding: 1.5rem; background: #f7f3e8; border-top: 3px solid #365e43; }
.caractacus-content-page #caractacus-reading-layout > #recommended-books { position: static; display: block; width: auto; max-width: none; margin: 0; padding: calc(clamp(1.8rem,3vw,2.4rem) * 1.2 + 1.5rem) 0 0 1.25rem; border: 0; border-left: 1px solid #d5c5b5; background: none; min-width: 0; }
.caractacus-content-page .caractacus-sidebar__inner { position: sticky; top: 1.5rem; max-height: calc(100vh - 3rem); overflow-y: auto; scrollbar-width: thin; transform: translateZ(0); }
.caractacus-content-page .caractacus-evidence-links { background: #f7f3e8; border-top: 3px solid #365e43; padding: 1rem; margin-bottom: 1.5rem; }
.caractacus-content-page .caractacus-evidence-links .caractacus-eyebrow { color: #756345; font-size: .75rem; }
.caractacus-content-page .caractacus-evidence-links h3 { font: bold 1.15rem/1.4 Georgia,serif; padding: 0; margin: 0 0 1rem; }
.caractacus-content-page .caractacus-evidence-links a { display: block; padding: .4rem 0; color: #164529; font-size: .85rem; line-height: 1.5; text-decoration: underline; }
.caractacus-content-page #recommended-books .caractacus-featured-books__heading { margin: 0 0 1rem; padding: 0 0 .7rem; border-bottom: 1px solid #d5c5b5; background: none; color: #164529; font: bold 1.2rem/1.4 Georgia,serif; text-align: left; }
.caractacus-content-page #recommended-books .r4h-book-card { box-shadow: none; border: 0; border-bottom: 1px solid #d5c5b5; border-radius: 0; background: #fff; }
.caractacus-content-page #recommended-books .r4h-book-card__cover-img { width: 74px; height: auto; aspect-ratio: auto; object-fit: contain; }
.caractacus-content-page #recommended-books .r4h-book-card__cover { background: none; }
.caractacus-content-page #recommended-books .r4h-book-card__title { font: bold .9rem/1.4 Arial,sans-serif; color: #164529; }
.caractacus-content-page #recommended-books .r4h-book-card__meta { font-size: .75rem; }
.caractacus-content-page #recommended-books .r4h-book-card__blurb { font-size: .8rem; }
.caractacus-content-page .caractacus-mini-bookshop { width: auto; max-width: none; margin: 2.5rem 0; padding: 0; color: #4a4a4a; background: none; border: 0; }
.caractacus-content-page .caractacus-mini-bookshop > h3 { font: 400 clamp(1.6rem,2.6vw,2.1rem)/1.3 Georgia,serif; color: #164529; }
.caractacus-content-page .caractacus-mini-bookshop__section { padding: 1rem 0; background: none; border: 0; box-shadow: none; }
.caractacus-content-page .caractacus-mini-bookshop__section .background_colour { color: #164529; background: #f7f3e8; margin: 0 0 1rem; padding: .75rem; text-align: left; }
.caractacus-content-page .caractacus-mini-bookshop__shelf { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.caractacus-content-page .caractacus-mini-bookshop__shelf--single { grid-template-columns: minmax(0,360px); }
.caractacus-content-page .caractacus-mini-bookshop .r4h-book-card { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid #d5c5b5; border-radius: 7px; overflow: hidden; }
.caractacus-content-page .caractacus-mini-bookshop .r4h-book-card__cover { display: flex; justify-content: center; align-items: center; min-height: 220px; padding: 1rem; background: linear-gradient(135deg,#082814,#1a5c30); }
.caractacus-content-page .caractacus-mini-bookshop .r4h-book-card__cover-img { width: auto; height: 190px; max-width: 100%; object-fit: contain; margin: 0; transform: none; }
.caractacus-content-page .caractacus-mini-bookshop .r4h-book-card__body { padding: 1rem; display: flex; flex-direction: column; flex: 1; }
.caractacus-content-page .caractacus-mini-bookshop .r4h-book-card__title { font: bold 1rem/1.4 Arial,sans-serif; color: #164529; }
.caractacus-content-page .caractacus-mini-bookshop .r4h-book-card__cta { margin-top: auto; background: linear-gradient(160deg,#f5a52a,#e3880e); border: 1px solid #c07510; padding: .85rem .65rem; color: #111; text-align: center; font: bold .85rem/1.4 Arial,sans-serif; }
.caractacus-content-page .caractacus-page a:focus-visible { outline: 3px solid #965e12; outline-offset: 3px; }
.caractacus-content-page .caractacus-page [id] { scroll-margin-top: 1.5rem; }
@media (max-width: 1100px) {
 .caractacus-content-page #caractacus-reading-layout { display: block; }
 .caractacus-content-page #caractacus-reading-layout > #recommended-books { display: none; }
 .caractacus-content-page .caractacus-title__initial { font-size: 110px; }
 .caractacus-content-page .caractacus-title__lines { font-size: 25px; }
}
@media (max-width: 700px) {
 .caractacus-content-page .caractacus-hero { grid-template-columns: minmax(0,1fr); }
 .caractacus-content-page .caractacus-hero__title-panel { padding: 1.5rem; }
 .caractacus-content-page .caractacus-title__initial { font-size: 130px; }
 .caractacus-content-page .caractacus-title__lines { font-size: clamp(25px,6vw,36px); }
 .caractacus-content-page .caractacus-mini-bookshop__shelf { grid-template-columns: minmax(0,1fr); }
 .caractacus-content-page .caractacus-image-plate { padding: 1rem; }
 .caractacus-content-page .caractacus-image-plate a { padding: .75rem; }
}

/* Reset inherited article flow, footer sizing and retired topic-button decoration. */
.caractacus-content-page > .clear { display: none; }
.caractacus-content-page .caractacus-hero { position: relative; top: auto; }
.caractacus-content-page #main-section { position: relative; top: auto; left: auto; right: auto; float: none; background: none; }
.caractacus-content-page { position: relative; width: 100%; height: auto; min-height: 100%; overflow: visible; }
.caractacus-content-page #Footer { position: relative !important; width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; }
.caractacus-content-page #top-navigation > nav > ul > li > a::after { content: none !important; }
.caractacus-content-page .caractacus-page .r4h-book-card::before { content: none; }

/* 2026-10-08: Let the original transparent shield extend over the caption.
   Landscape ends at source row 450 of 510; the final 60px are transparent
   around the shield. Percentage margins scale that overlap with image width. */
.caractacus-content-page .caractacus-hero__image { justify-content: flex-start; background: #faf8f1; }
.caractacus-content-page .caractacus-hero__image img { position: relative; z-index: 2; }
.caractacus-content-page .caractacus-hero__image figcaption { position: relative; z-index: 1; flex: 1; margin-top: -5.859375%; min-height: 0; }
.caractacus-content-page .caractacus-hero__image figcaption > span { display: block; max-width: 43%; }
