/* ATIRO / Bilingual editorial headings.
   Japanese remains the primary reading layer; English is the brand accent.
   This file deliberately does not change grids, links, or motion controls. */
:root{--heading-en-font:"DM Sans","Helvetica Neue",Arial,sans-serif}
.bilingual-title .heading-ja{display:block;color:inherit}
.bilingual-title .heading-en{
  display:block;position:relative;padding-left:36px;margin-top:20px;
  font-family:var(--heading-en-font);font-size:clamp(20px,1.82vw,29px);
  font-weight:500;line-height:1.32;letter-spacing:-.025em;
  color:var(--deep);text-wrap:pretty;word-break:normal;overflow-wrap:normal;
  hyphens:none;text-transform:none;
}
.bilingual-title .heading-en::before{
  content:"";position:absolute;left:0;top:.64em;width:24px;height:2px;
  background:var(--brand);transform-origin:left;
}
.hero h1 .heading-en{
  font-size:clamp(21px,2.08vw,32px);margin-top:23px;letter-spacing:-.025em;
  padding-left:42px;
}
.hero h1 .heading-en::before{width:29px}
.product-hero h1 .heading-en{
  font-size:clamp(20px,1.85vw,29px);line-height:1.36;margin-top:20px;
}
.resource-hero h1 .heading-en{font-size:clamp(22px,2.2vw,32px);margin-top:20px}
.chapter-description{margin-top:24px}
.contact-band h2 .heading-en{margin-top:20px;font-size:clamp(21px,2vw,30px)}

/* A quieter secondary scale for feature rows and compact utility headings. */
.bilingual-minor .heading-en{
  padding-left:0;margin-top:8px;font-size:11px;line-height:1.6;
  letter-spacing:.075em;font-weight:500;text-transform:uppercase;
}
.bilingual-minor .heading-en::before{display:none}
.product-brief h2.bilingual-title{position:relative;margin-top:0;font-size:17px}
.product-brief .heading-en{margin-top:7px;font-size:12px;letter-spacing:.08em}
.media-card h3 .heading-en{font-size:10px;letter-spacing:.07em;margin-top:5px}
.site-dialog h2 .heading-en{font-size:13px;margin-top:9px;text-transform:none;letter-spacing:.01em}
.resource-empty h3 .heading-en{font-size:11px}
.row-copy h3.bilingual-title{line-height:1.45}
.row-copy h3 .heading-en{max-width:100%}

/* Keep the original rhythm without compounding labels, margins or line breaks. */
.chapter .section-index{letter-spacing:.17em}
.chapter .intro-rule{margin-top:32px}
.chapter .intro-sticky h2{margin-top:22px}
.product-brief .brief-list{margin-top:23px}

@media(max-width:1000px){
  .bilingual-title .heading-en{font-size:22px;margin-top:17px;padding-left:31px}
  .bilingual-title .heading-en::before{width:20px}
  .bilingual-minor .heading-en{font-size:11px;margin-top:8px;padding-left:0}
  .product-brief .heading-en{font-size:11px}
  .site-dialog h2 .heading-en{font-size:13px}
}
@media(max-width:680px){
  .hero h1 .heading-en{font-size:clamp(19px,5vw,25px);padding-left:0;margin-top:16px;line-height:1.4}
  .hero h1 .heading-en::before{display:none}
  .product-hero h1 .heading-en,.resource-hero h1 .heading-en{
    font-size:clamp(18px,4.7vw,23px);margin-top:16px;padding-left:0;
  }
  .product-hero h1 .heading-en::before,.resource-hero h1 .heading-en::before{display:none}
  .bilingual-title .heading-en{font-size:20px;line-height:1.4;letter-spacing:-.015em;margin-top:15px;padding-left:28px}
  .bilingual-title .heading-en::before{width:17px;top:.68em}
  .bilingual-minor .heading-en{font-size:10px;line-height:1.65;letter-spacing:.055em;margin-top:7px;padding-left:0}
  .product-brief .heading-en{font-size:11px;letter-spacing:.07em}
  .contact-band h2 .heading-en{font-size:21px}
  .site-dialog h2 .heading-en{font-size:12px;letter-spacing:.005em}
  .chapter-description{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){
  .bilingual-title,.bilingual-title *{animation:none!important;transition:none!important}
}
@media print{
  .bilingual-title .heading-en{color:#007293}
  .bilingual-minor .heading-en{font-size:9px}
}
