/* A readable character catalogue within Jubilin's established identity. */
.characters-page h1,.characters-page h2,.characters-page h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.025em}
.characters-page h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 1.2rem}
.characters-page h3{font-size:1.5rem;margin:0 0 .8rem}
.characters-page p{line-height:1.75}
.characters-page .section{padding:4rem 0}
.characters-hero{background:#27204b;color:var(--paper);padding:1.5rem 0 3.5rem}
.characters-hero .eyebrow{color:var(--yellow)}
.characters-breadcrumb{display:flex;gap:.7rem;font-size:.875rem;margin-bottom:2.5rem}
.characters-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.characters-hero h1{font-size:clamp(2.65rem,5.6vw,4.6rem);margin:0 0 1.4rem;max-width:22ch}
.characters-hero h1 span{color:var(--yellow)}
.characters-intro{max-width:58ch;font-size:1.15rem;color:#e7e4f3}
.characters-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1.6rem 0 2.5rem}
.category-nav{display:flex;flex-wrap:wrap;gap:.65rem;max-width:60rem}
.category-nav a{padding:.6rem 1rem;border:1px solid #8d84ad;border-radius:30px;font-size:.875rem;color:#fff}
.category-nav a:hover{background:#403663}
.characters-page .section-heading{max-width:55rem}
.catalog-grid{display:grid;gap:1.3rem}
.catalog-card{padding:1.5rem;border:1px solid var(--line);border-top:5px solid var(--coral);background:#fff;border-radius:var(--radius-md);scroll-margin-top:7rem;min-width:0}
.catalog-card:nth-child(3n+2){border-top-color:var(--aqua)}
.catalog-card:nth-child(3n){border-top-color:var(--yellow)}
.catalog-card p{margin:0 0 1.2rem}
.character-links{display:flex;flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none}
.character-links a{display:flex;gap:.75rem;justify-content:space-between;align-items:center;padding:.65rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--cream);font-weight:700;font-size:.95rem;min-height:44px}
.character-links a:hover{background:var(--yellow-soft);border-color:var(--navy)}
.character-links span{color:var(--aqua)}
.photo-section{background:var(--aqua-soft)}
.character-photos{display:grid;gap:1.5rem;align-items:start}
.character-photos figure,.full-catalog figure{margin:0;min-width:0}
.character-photos img,.full-catalog img{width:100%;height:auto;border-radius:var(--radius-sm)}
.character-photos figcaption,.full-catalog figcaption{font-size:.875rem;margin-top:.7rem}
.full-catalog{margin-top:2rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:white}
.full-catalog summary{cursor:pointer;font-weight:700;padding:.5rem;min-height:44px}
.full-catalog[open] summary{margin-bottom:1rem}
.full-catalog figure{max-width:64rem;margin-inline:auto}
.booking-grid{display:grid;gap:2rem;align-items:center}
.booking-steps{display:grid;gap:1.4rem;margin:0;padding-left:1.5rem}
.booking-steps li{padding-left:.5rem}
.booking-steps li::marker{color:var(--coral);font-weight:700}
.booking-steps p{margin:0}
.characters-page .faq__intro h2{max-width:15ch}
.characters-page .faq__list details p{font-size:1rem}
.characters-page .contact__card{background:#27204b}
.characters-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem}
.characters-footer strong{font-family:var(--font-display);font-size:1.5rem;color:white}
.characters-footer p,.character-credit{font-size:.875rem}
.characters-footer nav{display:grid;gap:.7rem;align-content:start}
.character-credit{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line-light);color:#c6d7de}
@media(min-width:760px){.catalog-grid,.booking-grid{grid-template-columns:1fr 1fr}.character-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.characters-page .section{padding:5rem 0}.catalog-card{padding:2rem}.booking-grid{gap:4rem}}
@media(max-width:400px){.characters-actions .button{width:100%}.catalog-card{padding:1.15rem}}
