/* Readability and touch targets; respects the existing editorial design. */
.prose a,.source-note a{overflow-wrap:anywhere}
#metrics-choice{border:0;background:none;color:inherit;font-size:12px;text-decoration:underline;cursor:pointer;padding:12px 0;text-align:left}
#metrics-choice:disabled{cursor:default}
@media(max-width:760px){
 header{padding-inline:4%;gap:8px}
 .menu-toggle{width:44px;height:44px;padding:0;flex-shrink:0}
 .nav-cta{min-height:44px;font-size:11px;letter-spacing:0;padding:8px;gap:5px;white-space:nowrap}
 header nav{max-height:calc(100dvh - 80px);overflow-y:auto}
 header nav a{min-height:44px;display:flex;align-items:center}
 .filter{min-height:44px;font-size:12px;padding:10px 12px}
 .search input{font-size:16px;min-height:44px}
 .section-heading p,.guide-copy>p,.making-head p,.editor-note p,.consult-intro>p{font-size:14px;line-height:2}
 .story-card p{font-size:14px;line-height:1.9}
 .story-card h3{font-size:19px;line-height:1.7}
 .meta{font-size:10px}.image-tag{font-size:11px}
 .article-lead{font-size:15px;line-height:2}.prose p{font-size:16px;line-height:2.05}
 .article-byline,.article-visual figcaption,.history-caption,.form-note{font-size:12px;line-height:1.9}
 .reader-grid span{font-size:13px}.reader-grid>a{padding:18px 12px}
 .button{min-height:48px;font-size:14px}
 form label{font-size:14px}form label span{font-size:12px}
 .consent-row{min-height:44px}.consent-row input{min-width:22px;min-height:22px}
 .consent-row span{font-size:13px;line-height:1.9}
 .footer-top>div{font-size:13px;gap:8px 20px}.footer-top>div a{padding-block:10px}
 .footer-bottom{font-size:11px;line-height:1.8}
 .hero p{font-size:13px;line-height:2;max-width:90%}
 .hero-link{font-size:13px;min-height:44px}
}
@media(max-width:480px){
 .article-grid,.related .article-grid{grid-template-columns:minmax(0,1fr)}
 .card-image{aspect-ratio:1.65}.story-card h3{font-size:22px}
 .form-row{grid-template-columns:minmax(0,1fr);gap:0}
 .hero h1{font-size:clamp(32px,9vw,43px);letter-spacing:.04em}
 .hero-vertical{display:none}
}
@media(max-width:360px){.brand-ja{font-size:22px;letter-spacing:2px}.brand-en{letter-spacing:1.5px}.nav-cta span{display:none}}
