.characters-page{padding-block:clamp(2rem,5vw,4.5rem) clamp(3rem,7vw,6rem)}.characters-page__header{text-align:center;max-width:820px;margin:0 auto clamp(2rem,4vw,3rem)}.characters-page__header h1,.characters-overview__title,.character-profile__header h2{color:var(--bf-forest);font-family:Comic Sans MS,Comic Sans,cursive}.characters-page__header h1{margin:0 0 .8rem;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05}.characters-page__header p{max-width:690px;margin:0 auto;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.65}.characters-overview{margin-bottom:clamp(3rem,7vw,6rem)}.characters-overview__title{text-align:center;margin:0;font-size:clamp(1.6rem,2.7vw,2.35rem);line-height:1.1}.characters-overview__hint{text-align:center;color:#2a241dc7;margin:.65rem 0 1.3rem;font-size:.95rem}.characters-overview__visual{background:#fbf4e4;border:1px solid #2a241d1a;border-radius:24px;width:min(100%,1180px);margin-inline:auto;position:relative;overflow:hidden;box-shadow:0 16px 40px #2a241d14}.characters-overview__image{width:100%;height:auto;display:block}.characters-overview__hotspot{left:var(--hotspot-left);top:var(--hotspot-top);width:var(--hotspot-width);height:var(--hotspot-height);color:#fff;outline-offset:-4px;justify-content:center;align-items:flex-end;padding:.5rem;text-decoration:none;display:flex;position:absolute}.characters-overview__hotspot span{text-align:center;opacity:0;background:#0a2f1ed1;border-radius:999px;max-width:96%;padding:.32rem .55rem;font-size:clamp(.62rem,1vw,.82rem);font-weight:700;line-height:1.15;transition:opacity .18s,transform .18s,background .18s;transform:translateY(4px)}.characters-overview__hotspot:hover span,.characters-overview__hotspot:focus-visible span{opacity:1;background:#123f27f0;transform:translateY(0)}.characters-overview__hotspot:hover,.characters-overview__hotspot:focus-visible{background:#d9a92f1a}.character-list{width:min(100%,1120px);margin-inline:auto}.character-profile{border-top:1px solid #2a241d29;padding-block:clamp(2rem,5vw,4rem);scroll-margin-top:120px}.character-profile:first-child{border-top:0;padding-top:0}.character-profile__header{margin:0 0 clamp(1rem,2vw,1.5rem)}.character-profile__header h2{margin:0;font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.08}.character-profile__header p{color:var(--bf-terracotta);margin:.35rem 0 0;font-size:.9rem;font-weight:700}.character-profile__body{grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.character-profile__visual{aspect-ratio:4/5;background:#fff;border-radius:20px;width:100%;overflow:hidden;box-shadow:0 12px 30px #2a241d14}.character-profile__image{object-fit:contain;object-position:center;border-radius:inherit;width:100%;height:100%;display:block}.character-profile__copy{padding-top:.15rem}.character-profile__field{margin:0 0 .9rem;font-size:clamp(.97rem,1.2vw,1.05rem);line-height:1.6}.character-profile__field strong{color:var(--bf-forest)}.character-profile__field span{margin-left:.28rem}.character-profile__back{color:var(--bf-forest);margin-top:1rem;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-block}.character-profile__back:hover,.character-profile__back:focus-visible{color:var(--bf-terracotta)}@media (width<=900px){.character-profile__body{grid-template-columns:minmax(220px,.42fr) minmax(0,.58fr);gap:1.8rem}.characters-overview__visual{border-radius:20px}}@media (width<=680px){.characters-page{padding-top:1.5rem}.characters-overview{margin-bottom:3rem}.characters-overview__visual{border-radius:16px}.characters-overview__hotspot{padding:.18rem}.characters-overview__hotspot span{opacity:1;background:#0a2f1ec7;border-radius:8px;padding:.2rem .28rem;font-size:clamp(.46rem,2vw,.62rem);line-height:1.05;transform:none}.character-profile{padding-block:2.2rem;scroll-margin-top:96px}.character-profile__body{grid-template-columns:1fr;gap:1.3rem}.character-profile__visual{border-radius:16px;width:min(100%,420px);margin-inline:auto}.character-profile__copy{padding-top:0}.character-profile__field{margin-bottom:.8rem}}@media (prefers-reduced-motion:reduce){.characters-overview__hotspot span{transition:none}}
