/* LP character spots: restrained sizes, real content kept in normal flow. */
.character-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:38px;align-items:center;max-width:1000px;margin-inline:auto;text-align:left}
.character-copy{min-width:0}
.character-art{display:block;width:100%;height:auto;max-height:250px;object-fit:contain;object-position:center;pointer-events:none;justify-self:center}
.character-copy>.eyebrow{margin-bottom:15px}
.character-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:2;margin-top:18px}
.character-copy>.text-link{margin-top:22px}
.character-copy .section-title{text-align:left}
.character-about{grid-template-columns:minmax(0,1fr) 290px;gap:48px}
.character-about .character-art{max-height:300px}
.character-about .about-copy{margin-top:23px;padding-top:0}
.character-about .section-title h2{font-size:clamp(25px,2.6vw,34px)}
.character-work{max-width:980px}
.character-support{grid-column:1/-1;grid-row:1;max-width:980px;width:100%;grid-template-columns:minmax(0,1fr) 240px}
.support-layout:has(.character-support) .support-visual,.support-layout:has(.character-support) .support-list{grid-row:2}
.character-support .character-art{max-height:220px}
.character-small{grid-template-columns:minmax(0,1fr) 135px;max-width:900px}
.character-small .character-art{max-height:155px}
.place .character-small{max-width:1040px;grid-template-columns:minmax(0,1fr) 170px}
#place-title{font-size:clamp(23px,2.6vw,36px);white-space:nowrap}
#place-title>span{white-space:nowrap}
.character-recreation{grid-template-columns:minmax(0,1fr) 145px;gap:14px}
.character-recreation h2{font-size:clamp(24px,2.4vw,31px)}
.character-recreation .character-art{max-height:165px}
.wage-layout>.section-title:has(.character-wage){max-width:1000px}
.character-wage{grid-template-columns:minmax(0,1fr) 180px}
.character-wage .character-art{max-height:190px}
.character-flow{grid-template-columns:minmax(0,1fr) 220px}
.character-faq{grid-template-columns:minmax(0,1fr) 155px;max-width:780px}
.character-faq .character-art{max-height:190px}
.character-access{grid-template-columns:minmax(0,1fr) 110px;max-width:660px;margin-bottom:28px}
.character-access .character-art{max-height:130px}
.character-contact{grid-template-columns:minmax(0,1fr) 210px;margin-bottom:28px}
.character-contact .character-art{max-height:210px}
.contact .character-contact h2{font-size:clamp(24px,2.6vw,34px)}
.page-intro .character-page{max-width:1030px;grid-template-columns:minmax(0,1fr) 250px;gap:45px}
.character-page .character-art{max-height:255px}
.character-page h1{margin:0 0 19px;max-width:none;font-size:clamp(30px,3.1vw,40px)}
.character-page .character-copy>p:last-child{max-width:670px;font-size:15px;line-height:2}
.page-intro:has(.character-page){padding-top:38px;padding-bottom:38px}
@media(max-width:960px){
 .character-layout{gap:26px;grid-template-columns:minmax(0,1fr) 170px}
 .character-about{grid-template-columns:minmax(0,1fr) 220px}
 .character-small,.character-access{grid-template-columns:minmax(0,1fr) 110px}
 .place .character-small{grid-template-columns:minmax(0,1fr) 110px}
 .character-recreation{grid-template-columns:minmax(0,1fr) 120px;gap:15px}
 .page-intro .character-page{grid-template-columns:minmax(0,1fr) 190px;gap:25px}
 .character-page h1{font-size:32px}
}
@media(min-width:681px) and (max-width:800px){
 .support-layout:has(.character-support) .support-visual{grid-row:2}
 .support-layout:has(.character-support) .support-list{grid-row:3}
}
@media(max-width:680px){
 .character-layout,.character-about,.page-intro .character-page{display:flex;flex-direction:column;gap:18px;text-align:center}
 .character-copy{width:100%}
 .character-copy .section-title{text-align:center}
 .character-copy>p:not(.eyebrow),.character-page .character-copy>p:last-child{font-size:13px;line-height:2}
 .character-copy>.text-link{font-size:12px;margin-top:18px}
 .character-copy>.eyebrow{margin-bottom:12px}
 .character-art,.character-about .character-art,.character-page .character-art{width:145px;max-height:160px;margin:0 auto}
 .character-about .character-art{width:175px;max-height:165px}
 .character-about .section-title h2{font-size:clamp(22px,6.2vw,25px)}
 .character-about .about-copy{font-size:13px;margin-top:20px}
 .character-work .character-art,.character-wage .character-art{width:135px;max-height:140px}
 .character-support{grid-column:1/-1;grid-row:1}
 .character-support .character-art{width:170px;max-height:150px}
 .character-faq .character-art{width:110px;max-height:135px}
 .support-layout:has(.character-support) .support-visual{grid-row:2}
 .support-layout:has(.character-support) .support-list{grid-row:3}
 .character-small,.character-access{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:12px;text-align:left}
 .character-small .section-title{text-align:left}
 .character-small h2,.character-access h2{font-size:clamp(19px,5.4vw,23px)}
 #place-title{font-size:clamp(22px,6vw,25px);white-space:normal}
 .place .character-small{display:flex;flex-direction:column;text-align:center;gap:16px}
 .place .character-small .section-title{text-align:center}
 .place .character-small .character-art{width:145px;max-height:140px}
 .character-small .character-art,.character-access .character-art{width:70px;max-height:100px}
 .character-small .character-copy>p{font-size:12px}
 .character-recreation{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:12px;text-align:left}
 .character-recreation h2{font-size:clamp(21px,5.8vw,25px)}
 .character-recreation .character-art{width:100px;max-height:115px}
 .character-contact .character-art{width:145px;max-height:150px}
 .character-contact{margin-bottom:20px}
 .character-page h1{font-size:clamp(25px,7.2vw,32px);margin-bottom:16px}
 .page-intro:has(.character-page){padding:28px 22px 30px}
 .page-intro .page-topic-nav{margin-top:23px}
}
