/* Text-only accessibility pass. Artwork, dimensions, spacing, frames and surfaces
   remain defined in the existing design stylesheets. */
:root{--reading-font:"BIZ UDPGothic","Meiryo","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
body{font-family:var(--reading-font);font-size:16px;line-height:1.75}
input,button{font-family:var(--reading-font)}
.search input,.search button{font-size:16px;line-height:1.5}
.mini-nav .utility-btn b{font-family:var(--reading-font);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:700}
.hero--with-menu .hero-kicker{font-family:var(--reading-font);font-size:14px;line-height:1.5;letter-spacing:.02em}
.hero--with-menu .hero-copy h1{font-family:var(--reading-font);font-size:28px;font-weight:700;line-height:1.28;letter-spacing:0}
.hero--with-menu .hero-copy p{font-family:var(--reading-font);font-size:17px;line-height:1.65;font-weight:500;letter-spacing:0}
.hero--with-menu .hero-speech{font-family:var(--reading-font);font-size:17px;line-height:1.5;font-weight:700;letter-spacing:0}
.global-menu__label{font-family:var(--reading-font);font-size:18px;line-height:1.4;font-weight:700;letter-spacing:0}
.global-menu__label--stack{font-size:16px;line-height:1.2}
.quest-ribbon h2{font-family:var(--reading-font);font-size:25px;line-height:1.3;font-weight:700;letter-spacing:0}
.quest-board__lead{font-family:var(--reading-font);font-size:15px;line-height:1.75;font-weight:500;letter-spacing:0}
.quest-card__title{font-family:var(--reading-font);font-size:15px;line-height:1.65;font-weight:700;letter-spacing:0;overflow-wrap:normal;text-wrap:wrap}
.quest-card__new{font-family:var(--reading-font);font-size:12px;line-height:1.2;letter-spacing:.02em}
.quest-board__cta{font-family:var(--reading-font);font-size:17px;line-height:1.5;letter-spacing:0;font-weight:700}
.equipment-heading h2{font-family:var(--reading-font);font-size:21px;line-height:1.4;font-weight:700;letter-spacing:0;white-space:normal;text-wrap:wrap}
.equipment-heading p{font-family:var(--reading-font);font-size:15px;line-height:1.65;font-weight:500}
.equipment-grid .product h3{font-family:var(--reading-font);font-size:16px;line-height:1.5;font-weight:700;letter-spacing:0;overflow-wrap:normal}
.equipment-grid .product p{font-family:var(--reading-font);font-size:15px;line-height:1.65;font-weight:500}
.equipment-grid .badge{font-family:var(--reading-font);font-size:13px;line-height:1.4;font-weight:700}
.equipment-grid .product-actions a{font-family:var(--reading-font);font-size:14px;line-height:1.5;font-weight:700;white-space:normal;text-wrap:wrap}
.feature-panel__heading h2{font-family:var(--reading-font);font-size:22px;line-height:1.35;font-weight:700;letter-spacing:0;white-space:normal}
.feature-panel__heading>a{font-family:var(--reading-font);font-size:14px;line-height:1.5;font-weight:700;white-space:normal;text-wrap:wrap}
.feature-panel__tabs button{font-family:var(--reading-font);font-size:15px;line-height:1.5;font-weight:700;line-break:strict;overflow-wrap:normal;text-wrap:wrap}
.feature-row__copy{font-family:var(--reading-font);line-height:1.65;overflow-wrap:normal}
.feature-row__copy strong{font-size:16px;font-weight:700;text-wrap:wrap}
.feature-row__copy small{font-size:15px;font-weight:500;text-wrap:pretty}
.quest-card__title,.equipment-grid .product h3{word-break:normal;line-break:strict}
.feature-row__rank{font-family:var(--reading-font);font-size:15px;font-weight:700}
.feature-row__rank--1,.feature-row__rank--2,.feature-row__rank--3{font-size:14px}
.panel-title{font-family:var(--reading-font);font-size:21px;line-height:1.4;letter-spacing:0;font-weight:700}
.side-link{font-family:var(--reading-font);font-size:16px;line-height:1.65;font-weight:700}
.notice{font-family:var(--reading-font);font-size:15px;line-height:1.8;color:#43515b}
.disclosure,.footerline{font-family:var(--reading-font);font-size:14px;line-height:1.8}
@container feature-box (min-width:480px){
  .feature-panel__heading h2{font-size:22px}
  .feature-panel__heading>a{font-size:15px}
  .feature-row__copy strong{font-size:16px}
  .feature-row__copy small{font-size:15px}
}
@container (max-width:360px){.equipment-heading h2{font-size:20px}}
@media(max-width:1240px){
  .quest-ribbon h2{font-size:21px}
  .quest-board__cta{font-size:16px}
  .hero--with-menu .hero-copy h1{font-size:25px}
}
@media(max-width:1179px){.global-menu__label{font-size:18px}.global-menu__label--stack{font-size:16px}}
@media(max-width:900px){
  .hero--with-menu .hero-copy h1{font-size:28px}
  .hero--with-menu .hero-copy p{font-size:17px}
  .hero--with-menu .hero-speech{font-size:16px}
}
@media(max-width:760px){.quest-ribbon h2{font-size:24px}}
@media(max-width:520px){
  .hero--with-menu .hero-copy h1{font-size:clamp(18px,4.8vw,24px);line-height:1.5}
  .hero--with-menu .hero-copy p{font-size:16px;line-height:1.5}
  .hero--with-menu .hero-kicker{font-size:13px}
  .hero--with-menu .hero-speech{font-size:16px;line-height:1.4}
  .global-menu__label{font-size:17px}.global-menu__label--stack{font-size:15px}
}
@media(max-width:380px){.quest-ribbon h2{font-size:21px}}
@media(max-width:350px){.hero--with-menu .hero-copy h1{font-size:18px}}

/* Keep short control labels intact; prose follows Japanese line-breaking rules. */
.equipment-grid .product-actions a,.feature-panel__heading>a{white-space:nowrap}
.feature-row__copy,.equipment-grid .product p{word-break:normal;line-break:strict;text-wrap:pretty}
.hero--with-menu .hero-copy h1 span{display:block}
/* Avoid isolated ending characters in narrow quest rows. */
.quest-card__title{text-wrap:pretty}
@media(min-width:761px){.quest-card__title br{display:none}}
@media(min-width:761px) and (max-width:900px){.equipment-grid .product-actions a{font-size:12px;letter-spacing:-.04em}}
/* Size navigation text against each button's inner width, not the viewport. */
.global-menu__link{container-type:inline-size;container-name:global-nav-button}
.global-menu__link .global-menu__label{
  font-size:clamp(12px,13cqw,18px);
  white-space:nowrap;
}
.global-menu__link .global-menu__label--stack{font-size:clamp(12px,12cqw,16px)}
@media(max-width:520px){
  .hero--with-menu .hero-speech{font-size:14px;line-height:1.45}
}
/* Compact readable headings and breathing room between entries on narrow screens. */
@container (max-width:360px){
  .equipment-heading p{display:block;font-size:13px;line-height:1.55;padding:9px 6px}
  .equipment-heading p span{display:block;white-space:nowrap}
}
@container feature-box (max-width:320px){
  .feature-panel__heading{grid-template-columns:40px minmax(0,1fr) auto;column-gap:3px;padding-right:7px}
  .feature-panel .feature-panel__heading h2{font-size:clamp(16px,6cqw,19px);white-space:nowrap;line-height:1.25;min-width:0;margin-left:2px}
  .feature-panel .feature-panel__heading>a{width:92px;font-size:12px;margin-left:2px}
  .feature-panel__list,#articles .feature-panel__list{grid-template-rows:repeat(5,minmax(112px,auto));grid-auto-rows:minmax(112px,auto);row-gap:4px;padding-top:10px;padding-bottom:12px}
  .feature-panel__list .feature-row{padding:7px 1px}
}
.equipment-heading p .equipment-heading__description{display:block;white-space:normal}
.equipment-heading p .equipment-heading__line{display:inline;white-space:normal}
@container (max-width:360px){.equipment-heading p .equipment-heading__line{display:block;white-space:nowrap}}
