/* Lobster, selected by Kelly from the three-font comparison.
   Titles stay real text. Body copy, navigation and form controls keep their
   existing reading typefaces. This layer is shared by every generated route. */
@font-face {
  font-family: SignatureKelly;
  src: url('/fonts/signature-kelly.ttf?v=22') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Lobster;
  src: url('/fonts/Lobster-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root { --plume: Lobster, cursive; }
body :is(h1,h2,h3,h4,h5,h6),
body .cover-title,
body .brush-sub,
body .num-porte strong,
body .rows strong,
body .kt-result dt {
  font-family: Lobster, cursive !important;
  font-synthesis: none;
  font-weight: 400 !important;
  font-style: normal;
  letter-spacing: 0 !important;
  line-height: 1.25;
  text-transform: none;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
body :is(h1,h2,h3,h4,h5,h6) :is(em,strong,b) {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}
body :is(h3,h4,h5,h6) { font-size: clamp(26px,2.5vw,34px); }
body h2 { line-height: 1.28; }
/* Leave space for the brush ascenders and descenders in small result panels. */
body :is(.kt-horocopy,.ka-result,.oracle20-readings,.mg-reading) :is(h2,h3,h4) {
  padding-block: .08em;
}
body .oracle20 .oracle20-hero h1 { line-height: 1.2; }
/* The approved home signature and brand remain original lettering. */
body .brand,
body.page-accueil .hero .home-title { font-family: SignatureKelly, cursive !important; }
body.page-accueil .hero .home-title { line-height: .87; overflow-wrap: normal; }
body.page-accueil .home-title .cover-word { white-space: nowrap; }
@media (max-width:690px) {
  body .inside .cover-title:not(.home-title) { font-size: clamp(35px,10vw,59px); }
  body .cover-title .cover-word { overflow-wrap: anywhere; }
  body .oracle20 .oracle20-hero h1 { font-size: clamp(36px,10vw,58px); }
  body :is(h3,h4,h5,h6) { font-size: 27px; }
}

/* All public page titles share the boutique palette, including headings
   inserted later by the magazine, library and shop. */
body:not(.page-administration) main h1,
.aw-boutique > h2,
.aw-detail h2:first-of-type {
  color: var(--vif) !important;
}
body main h1 :is(.cover-pre, .title-intro) {
  color: var(--canard) !important;
}
body main h1 .cover-word,
body main .library-kelly h1 em,
body main .mag-hero h1 > span {
  color: var(--vif) !important;
}
body main h1 :is(.cover-tail, .title-ending),
body main .cf-hero h1 em,
body main .mag-hero h1 i {
  color: var(--canard) !important;
}
