.comic-series{--ink:#302237;--muted:#574956;--gold:#8a3e00;--gold-soft:#833600;--cyan:#942c63;--line:#d7c5cf;background:#fff9eb;color:var(--ink)}
.comic-series::before{display:none}
.comic-series h1,.comic-series h2,.comic-series h3,.poster-label,.speech,.mascot figcaption{font-family:"M PLUS Rounded 1c","Noto Sans JP",sans-serif;font-weight:900}
.comic-series .site-header{background:#fffdf5;border-bottom:3px solid var(--ink)}
.comic-series .global-nav{font-size:.9rem}
.comic-series .section{padding-block:5rem;scroll-margin-top:95px}
.comic-series .eyebrow,.comic-series .history-kicker{font-size:.875rem;letter-spacing:.06em;color:#90235b!important}
.comic-series .button{display:inline-flex;gap:1rem;align-items:center;justify-content:center;background:#ffdd36;color:var(--ink);border:3px solid var(--ink);border-radius:12px;padding:.85rem 1.2rem;font-size:1rem;font-weight:800;box-shadow:4px 4px 0 var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.comic-series .button:hover{background:#ffed8a;color:var(--ink);border-color:var(--ink);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.comic-series a:focus-visible,.comic-series button:focus-visible{outline:3px solid #8b2360;outline-offset:5px}
.comic-hero{padding:1.5rem max(1.5rem,calc((100vw - 1180px)/2)) 3rem;background:#ffdd36;background-image:radial-gradient(#e9b92d 1.5px,transparent 1.5px);background-size:16px 16px;border-bottom:3px solid var(--ink)}
.comic-hero .breadcrumb{font-size:.875rem;margin:0 0 1.5rem;color:#4e3541}
.comic-hero .breadcrumb a{color:inherit}
.festival-poster{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:2rem;min-height:540px}
.poster-label{display:inline-block;padding:.55rem 1rem;background:white;border:3px solid var(--ink);border-radius:10px;box-shadow:4px 4px 0 #ef64a9;font-size:clamp(1rem,1.6vw,1.25rem);transform:rotate(-2deg)}
.poster-title h1{margin:1.3rem 0 .8rem;line-height:1.18;letter-spacing:-.045em;font-size:clamp(2.8rem,5.3vw,4.7rem)}
.poster-title h1>span{display:block}
.poster-title h1 .title-small{font-size:.5em;letter-spacing:.05em;margin-bottom:.3em}
.poster-title h1>span:nth-child(2){color:#fff;text-shadow:3px 3px 0 var(--ink);-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}
.title-mark{color:#b51b61}
.poster-sub{font-size:1.15rem;font-weight:800}
.mascot-duo{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:center;padding-top:1rem;min-width:0}
.mascot{position:relative;margin:0;background:#fff;border:3px solid var(--ink);border-radius:45% 45% 18px 18px;box-shadow:7px 7px 0 var(--ink);min-width:0}
.mascot img{display:block;width:100%;height:auto;border-radius:inherit}
.kimmy{transform:rotate(-5deg);margin-top:2rem}
.shiromy{transform:rotate(5deg);margin-bottom:2rem}
.speech{position:absolute;z-index:1;top:2%;left:50%;transform:translateX(-50%);width:max-content;max-width:110%;padding:.6rem .8rem;font-size:clamp(.875rem,1.3vw,1.05rem);line-height:1.5;background:#fff;border:3px solid var(--ink);border-radius:50%}
.shiromy .speech{background:#ffd8ee}
.mascot figcaption{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);padding:.25rem 1rem;background:#ffdd36;border:2px solid var(--ink);border-radius:8px;font-size:1.1rem;white-space:nowrap}
.shiromy figcaption{background:#f5a4cf}
.mascot-caption{grid-column:1/-1;text-align:center;font-size:.875rem;font-weight:700;margin:1.5rem 0 0}
.festival-ribbon{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;background:#ef77b5;border-bottom:3px solid var(--ink);font-weight:900;font-size:1.1rem;letter-spacing:.05em}
.comic-series .media-section::before{display:none}
.comic-series .section-heading h2,.comic-series .detail-grid h2{font-size:clamp(1.8rem,3.3vw,2.8rem);line-height:1.5;letter-spacing:0}
.comic-series .featured-video{border:4px solid var(--ink);border-radius:16px;box-shadow:10px 10px 0 #f3a5cf}
.comic-series #about{max-width:none;padding-inline:max(1.5rem,calc((100vw - 1132px)/2));background:#ffdfeb;border-block:3px solid var(--ink)}
.comic-series .detail-grid{grid-template-columns:.8fr 1.2fr;gap:3rem}
.comic-series .detail-copy{color:var(--ink);background:#fffdf8;border:3px solid var(--ink);border-radius:22px;padding:2rem;box-shadow:7px 7px 0 #ed8dbb;font-size:1rem}
.memuro-banner{position:relative}
.memuro-banner>img{width:100%;height:auto;display:block;border:3px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 #7dd3e8}
.memuro-banner>span{position:absolute;bottom:1rem;left:1rem;background:#fff;padding:.5rem 1rem;border:3px solid var(--ink);border-radius:10px;font-weight:800}
.comic-series .history{border:0;margin-top:2.5rem}
.comic-series .history article{grid-template-columns:5rem 1fr;background:#fff;border:3px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 #ffdd36;padding:2rem}
.comic-series .history time{display:block;font-size:1.3rem;color:var(--ink);font-weight:900}
.comic-series .history h3{font-size:1.55rem;line-height:1.6}
.comic-series .history p{font-size:1rem;color:var(--muted)}
.comic-series .record-stats div{background:#fff7d4;border:2px solid var(--ink);border-radius:10px}
.comic-series .record-stats strong{font-size:1.2rem;color:var(--ink)}
.comic-series .record-stats span,.comic-series .schedule-card dt,.comic-series .schedule-card dd{font-size:.95rem}
.moro-intro{margin-top:3.5rem;display:grid;grid-template-columns:210px 1fr;align-items:center;gap:2rem;border:3px solid var(--ink);border-radius:20px;background:#fff;overflow:hidden}
.moro-intro>img{width:100%;height:auto;display:block}
.moro-intro>div{padding:1.5rem 2rem 1.5rem 0}
.moro-intro h3{font-size:2rem;margin:.2rem 0}
.moro-intro p{font-size:1rem;line-height:1.9}
.memuro-gallery{margin-top:3rem}
.memuro-gallery>h3{text-align:center;font-size:1.5rem;margin-bottom:1.5rem}
.comic-series .memuro-gallery .sub-visual{max-width:760px;margin:auto;border:3px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 #ef77b5;transform:none}
.comic-series .next-section{max-width:none;padding-inline:max(1.5rem,calc((100vw - 1132px)/2));background:#8bdaea;border-block:3px solid var(--ink)}
.comic-series .next-orbit{margin:0;background:white;border:3px dashed var(--ink);border-radius:20px;padding:2rem;text-align:center}
.comic-series .next-orbit h3{font-size:clamp(1.6rem,3vw,2.4rem)}
.comic-series .next-orbit p{font-size:1rem}
.comic-series .site-footer{border-top:0;background:#fff9eb}
@media(max-width:900px){
.festival-poster{grid-template-columns:1fr;gap:1.5rem}
.poster-title{text-align:center}.poster-title h1{font-size:clamp(2.8rem,9vw,4.6rem)}
.mascot-duo{width:min(100%,500px);margin:auto}.speech{font-size:1rem}
.comic-series .detail-grid{grid-template-columns:1fr;gap:1.5rem}
}
@media(max-width:540px){
.comic-hero{padding-inline:1.2rem}.comic-series .section{padding-block:3.5rem}
.festival-ribbon{font-size:.875rem;gap:.5rem}
.speech{font-size:.875rem;padding:.5rem}.mascot figcaption{font-size:1rem}
.mascot-duo{gap:.65rem;padding-inline:.3rem}
.comic-series .history article{grid-template-columns:1fr;padding:1.2rem;gap:.5rem}
.comic-series .record-stats{grid-template-columns:1fr 1fr}
.comic-series .record-stats div{padding:.8rem}
.comic-series .history-links{gap:1rem}.comic-series .history-links .button{width:100%}
.moro-intro{grid-template-columns:1fr;gap:0}.moro-intro>img{width:180px;margin:auto}
.moro-intro>div{padding:0 1.2rem 1.5rem}.moro-intro h3{text-align:center}
.comic-series .detail-copy{padding:1.25rem}
.comic-series .next-orbit{padding:1.5rem 1rem}
}
@media(prefers-reduced-motion:reduce){.comic-series .button{transition:none}}
.memuro-landscape{margin:0;background:#fff;border:3px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:7px 7px 0 #7dd3e8}
.memuro-landscape>img{display:block;width:100%;height:auto}
.memuro-landscape figcaption,.memuro-photo-card figcaption{padding:.7rem 1rem;color:var(--ink);font-size:1rem;font-weight:800;text-align:center}
.memuro-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin:1.8rem 0 3rem}
.memuro-photo-card{margin:0;min-width:0;background:#fff;border:3px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:5px 5px 0 #f3a5cf}
.photo-frame{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#fff}
.photo-frame img{width:100%;height:100%;object-fit:contain;display:block}
.memuro-character-banner{width:100%;max-width:760px;height:auto;margin:0 auto 2rem;border:3px solid var(--ink);border-radius:18px}
@media(max-width:700px){.memuro-photo-grid{grid-template-columns:1fr;gap:1.5rem}.memuro-photo-card{width:100%;max-width:520px;margin-inline:auto}}

/* Series introduction and growing annual programme */
.comic-series .next-orbit h2{font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.6;overflow-wrap:anywhere}
.comic-series .next-orbit .next-date{font-size:clamp(1.35rem,3vw,2rem);font-weight:900;margin-bottom:.3rem}
.comic-series .next-orbit .date-note{font-size:.8rem;margin-top:0}
.comic-series .next-orbit .history-links{justify-content:center;flex-wrap:wrap}
.festival-participation{max-width:760px;margin:2rem auto 0;text-align:center}
.festival-participation h3{font-size:1.4rem;line-height:1.6}
.festival-participation p{font-size:1rem;line-height:1.9}
.thought-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2.5rem}
.thought-grid article{padding:1.6rem;background:#fffdf8;border:3px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 #ed8dbb}
.thought-grid h3{font-size:1.35rem;line-height:1.6;margin-top:0}
.thought-grid p{font-size:1rem;line-height:1.9}
.comic-series .note-source{color:#80214e;text-decoration:underline;text-underline-offset:.25em;font-size:1rem;line-height:1.8;overflow-wrap:anywhere}
.comic-series .note-source:hover{color:#302237}
@media(max-width:700px){.thought-grid{grid-template-columns:1fr;gap:1.5rem}.comic-series .next-orbit .history-links .button{width:100%}}

.comic-series .special-site-link{background:#852047;color:#fff;border-color:#302237;font-size:clamp(1.1rem,2vw,1.4rem);padding:1rem 1.5rem;min-height:64px;text-align:center;line-height:1.5;max-width:100%}
.comic-series .special-site-link:hover{background:#641337;color:#fff}
.comic-series .special-site-cta{margin:1.5rem 0}

/* Keep the four archive actions balanced across desktop screens. */
@media(min-width:901px){
.comic-series #archive .history-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.85rem}
.comic-series #archive .history-links .button{width:100%;min-width:0;margin-top:.3rem;padding:.85rem .65rem;gap:.4rem;font-size:clamp(.875rem,1vw,1rem);line-height:1.5;text-align:center}
.comic-series #archive .history-links .button span{flex-shrink:0}
}
