/* Toranomon's multilingual stylesheet (M4, 2026-10-10), loaded on every page by
   inc/multilingual.php. Every rule goes through the group language switcher's own classes or a
   body.<locale> class, so the Japanese pages keep production's layout; css/language-switcher.css
   is a sites/shared/ copy the sync rewrites, so nothing here edits it.

   Where the switcher sits (measured 2026-10-10, 360-1440px), chosen so no Japanese element moves:
   - desktop (> 840px): the first item of .headerinfo, in its flex row before the SNS icons.
     .headerinfo is pushed to the right edge by .site-branding's space-between, so it grows to the
     left and the SNS icons and the hours text stay where they are. Below about 920px the logo has
     no room to spare and narrows; no checked width (1920-834) falls in that band.
   - mobile (<= 840px): this site's menu button sits alone in a full-width bar under the logo row
     (.sp_nav), so the switcher goes at that bar's right end. In the logo row it took 65px the row
     does not have below about 420px: the clinic name under the logo narrowed from 170px to 130px
     and wrapped at 360px. Since DL-211 (2026-10-18) the switcher there is the globe (below). */
.headerinfo > .language-switcher--desktop {
  margin-left: 0;
  padding-left: 0;
}
.headerinfo > .language-switcher--desktop::before,
.sp_nav > .language-switcher--mobile-inline::before {
  content: none;
}
.headerinfo > .language-switcher--desktop .language-switcher__menu,
.sp_nav > .language-switcher--mobile-inline .language-switcher__menu {
  right: 0;
  left: auto;
}
@media (max-width: 840px) {
  .headerinfo > .language-switcher--desktop {
    display: none;
  }
  /* DL-211 (owner, 2026-10-18): the switcher is the DL-209 outline globe, in the pill's place at the
     menu bar's right end, its right edge on the SNS icons' above. Drawn 30px, white like the menu
     icon (7.5:1 on the bar's #555), no background, border or shadow; a 44x44 tap area (::after),
     7px past the 30px bar above and below, so the bar and the Japanese header keep their height.
     It sits beside #nav_btn, not inside it, so a tap opens the list and not the menu. */
  .sp_nav > .language-switcher--mobile-inline {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 20px;
    height: 30px;
    margin-left: 0;
    padding-left: 0;
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__button,
  .sp_nav > .language-switcher--mobile-inline .language-switcher__button:hover,
  .sp_nav > .language-switcher--mobile-inline.is-open .language-switcher__button {
    position: relative;
    width: 30px;
    min-width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    color: #fff;
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__button::after {
    content: "";
    position: absolute;
    inset: -7px;
  }
  /* DL-216 (owner, 2026-10-20, for the chairman): the globe's box shows the round flag of the current
     language instead (flags/<key>.svg, HatScripts circle-flags, MIT), with a hairline ring; the open
     list shows round flags and the languages' own names (js/language-switcher.js). */
  .sp_nav > .language-switcher--mobile-inline .language-switcher__globe,
  .sp_nav > .language-switcher--mobile-inline .language-switcher__code,
  .sp_nav > .language-switcher--mobile-inline .language-switcher__chevron {
    display: none;
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__current {
    display: block;
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li > span::before {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #fff;
    background-position: center;
    background-size: 100% 100%;
    box-shadow: 0 0 0 1px rgba(21, 52, 95, 0.18), 0 1px 3px rgba(21, 52, 95, 0.18);
  }
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li > span::before {
    width: 22px;
    height: 22px;
  }
  .sp_nav > .language-switcher--mobile-inline {
    --language-switcher-names: 1;
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--jp,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.ja > span::before {
    background-image: url("../img/common/flags/jp.svg");
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--cn,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.zh > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.zh_CN > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.zh-CN > span::before {
    background-image: url("../img/common/flags/cn.svg");
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--us,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.en > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.en_US > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.en-US > span::before {
    background-image: url("../img/common/flags/us.svg");
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--mm,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.my > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.my_MM > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.my-MM > span::before {
    background-image: url("../img/common/flags/mm.svg");
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--np,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.ne > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.ne_NP > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.ne-NP > span::before {
    background-image: url("../img/common/flags/np.svg");
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--ph,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.tl > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.fil > span::before {
    background-image: url("../img/common/flags/ph.svg");
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--vn,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.vi > span::before {
    background-image: url("../img/common/flags/vn.svg");
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--es,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.es > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.es_ES > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.es-ES > span::before {
    background-image: url("../img/common/flags/es.svg");
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__flag--kr,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.ko > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.ko_KR > span::before,
  .sp_nav > .language-switcher--mobile-inline .bogo-language-switcher li.ko-KR > span::before {
    background-image: url("../img/common/flags/kr.svg");
  }
  /* The list opens under the bar, right edge on the globe's, and scrolls inside itself rather than
     reach the CTA bar (.side__Fixed, 66px at these widths) on a short screen. Header 110px. */
  .sp_nav > .language-switcher--mobile-inline .language-switcher__menu {
    top: calc(100% + 6px);
    max-height: calc(100vh - 110px - 6px - 66px - 8px);
    max-height: calc(100dvh - 110px - 6px - 66px - env(safe-area-inset-bottom) - 8px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (min-width: 641px) and (max-width: 840px) {
  /* .site-branding's side padding is 30px here (20px below), and the header 120px. */
  .sp_nav > .language-switcher--mobile-inline {
    right: 30px;
  }
  .sp_nav > .language-switcher--mobile-inline .language-switcher__menu {
    max-height: calc(100vh - 120px - 6px - 66px - 8px);
    max-height: calc(100dvh - 120px - 6px - 66px - env(safe-area-inset-bottom) - 8px);
  }
}

/* The badge under the logo is as wide as the logo image (170px at 641-840px, 155px at 320px).
   Japanese fits on one line; "Dental Office Toranomon" in the web font is 184px at 13px and
   155.6px at 11px, so it widened the logo by 14px or broke onto a second line. Smaller type only;
   the tracking and the line height stay the Japanese 0.1em and 1.4, restated in px, so the badge
   keeps the Japanese height. */
@media (min-width: 641px) and (max-width: 840px) {
  body.zh-CN .site-branding .logo p,
  body.en-US .site-branding .logo p,
  body.my-MM .site-branding .logo p,
  body.ne-NP .site-branding .logo p,
  body.ko-KR .site-branding .logo p,
  body.vi .site-branding .logo p,
  body.tl .site-branding .logo p,
  body.es-ES .site-branding .logo p {
    font-size: 11.5px;
    letter-spacing: 1.3px;
    line-height: 18.2px;
  }
}
@media (max-width: 640px) {
  body.zh-CN .site-branding .logo p,
  body.en-US .site-branding .logo p,
  body.my-MM .site-branding .logo p,
  body.ne-NP .site-branding .logo p,
  body.ko-KR .site-branding .logo p,
  body.vi .site-branding .logo p,
  body.tl .site-branding .logo p,
  body.es-ES .site-branding .logo p {
    font-size: 10.5px;
    letter-spacing: 1.1px;
    line-height: 15.4px;
  }
}

/* The flags the shared stylesheet does not carry (it has jp and cn): the pill
   (.language-switcher__flag--<code>) and the open menu (li.<locale> > span::before) each need a
   rule. Copied from otemachi's css/common.css; the images are the group's files in img/common/. */
.language-switcher__flag--us {
  background-image: url("../img/common/flag-us.jpg");
}

.language-switcher .bogo-language-switcher li.en_US > span::before,
.language-switcher .bogo-language-switcher li.en-US > span::before,
.language-switcher .bogo-language-switcher li.en > span::before {
  background-image: url("../img/common/flag-us.jpg");
}

.language-switcher__flag--mm {
  background-image: url("../img/common/flag-mm.jpg");
}
.language-switcher .bogo-language-switcher li.my_MM > span::before,
.language-switcher .bogo-language-switcher li.my-MM > span::before,
.language-switcher .bogo-language-switcher li.my > span::before {
  background-image: url("../img/common/flag-mm.jpg");
}

.language-switcher__flag--np {
  background-image: url("../img/common/flag-np.jpg");
}
.language-switcher .bogo-language-switcher li.ne_NP > span::before,
.language-switcher .bogo-language-switcher li.ne-NP > span::before,
.language-switcher .bogo-language-switcher li.ne > span::before {
  background-image: url("../img/common/flag-np.jpg");
}

.language-switcher__flag--ph {
  background-image: url("../img/common/flag-ph.jpg");
}
.language-switcher .bogo-language-switcher li.tl > span::before {
  background-image: url("../img/common/flag-ph.jpg");
}

.language-switcher__flag--vn {
  background-image: url("../img/common/flag-vn.jpg");
}
.language-switcher .bogo-language-switcher li.vi > span::before {
  background-image: url("../img/common/flag-vn.jpg");
}

.language-switcher__flag--es {
  background-image: url("../img/common/flag-es.jpg");
}
.language-switcher .bogo-language-switcher li.es-ES > span::before,
.language-switcher .bogo-language-switcher li.es > span::before {
  background-image: url("../img/common/flag-es.jpg");
}

.language-switcher__flag--kr {
  background-image: url("../img/common/flag-kr.jpg");
}
.language-switcher .bogo-language-switcher li.ko-KR > span::before,
.language-switcher .bogo-language-switcher li.ko > span::before {
  background-image: url("../img/common/flag-kr.jpg");
}

/* English home, feature and doctors boxes: above 840px style.top.css fixes their height
   (.features .inner 400px, 384px to 992px; .doctors .inner 424px) and the Japanese text already runs
   past the bottom (at 1024: feature 1 by 78px, feature 5 by 46, doctors by 145). At style.top.css's
   16px/15px the full English ran further (feature 3 by 20px where Japanese is clean, doctors by 169).
   At 14px every box is within its Japanese amount at 1440 and 1024 (measured 2026-10-10). Font size
   only: the owner's rule for text that does not fit (2026-10-01, ogawamachi i18n-typography.css). */
@media (min-width: 841px) {
  body.en-US .features .inner .txt p,
  body.en-US .doctors .inner .txt p:not(.name) {
    font-size: 14px;
  }
  /* The later languages run longer still (measured 2026-10-11, 1440 and 1024): every box is within its
     Japanese amount with the paragraphs at 12.5px, and for es/my/tl also the feature headings at 20/21px
     (style.top.css tracks them 0.1em; the Japanese 2.4px is restated so the smaller size does not also
     tighten the tracking). Filipino's doctors box needs 12px and a 20px heading (untracked in Japanese). */
  body.vi .features .inner .txt p,
  body.vi .doctors .inner .txt p:not(.name),
  body.es-ES .features .inner .txt p,
  body.es-ES .doctors .inner .txt p:not(.name),
  body.my-MM .features .inner .txt p,
  body.my-MM .doctors .inner .txt p:not(.name),
  body.tl .features .inner .txt p {
    font-size: 12.5px;
  }
  body.es-ES .features .inner .txt h3 {
    font-size: 20px;
    letter-spacing: 2.4px;
  }
  body.my-MM .features .inner .txt h3,
  body.tl .features .inner .txt h3 {
    font-size: 21px;
    letter-spacing: 2.4px;
  }
  body.tl .doctors .inner .txt p:not(.name) {
    font-size: 12px;
  }
  body.tl .doctors .inner .txt h3 {
    font-size: 20px;
  }
  /* Burmese hero badges (#mainvl .tlt li, 416 x 40px): at 18px the "until 7 pm" badge took two lines. */
  body.my-MM #mainvl .inner .tlt ul li p {
    font-size: 15px;
  }
}

/* English home, treatment cards (.guidance_list): at 640px and below style.top.css sets the title to
   14px in a 140px-tall card; "Periodontal treatment" took two lines at 390px, and its card grew 16px
   taller than its row. At 13px every title is one line from 375px up (measured 2026-10-10); at 360px
   the periodontal and Invisalign cards are still a line taller than their neighbours. */
@media (max-width: 640px) {
  body.en-US .guidance_list h3,
  body.my-MM .guidance_list h3,
  body.ne-NP .guidance_list h3,
  body.tl .guidance_list h3,
  body.es-ES .guidance_list h3 {
    font-size: 13px;
  }
}
/* Spanish, Burmese and Filipino card labels take three lines where Japanese takes one or two, so at 640px
   and below their cards grow with the text (height:auto from the 140px minimum, one height per row) and
   the list grows with them, instead of the text running out of the card (2026-10-11). */
@media (max-width: 640px) {
  body.es-ES .guidance_list,
  body.my-MM .guidance_list,
  body.tl .guidance_list {
    height: auto;
    align-items: stretch;
  }
  body.es-ES .guidance_list > div,
  body.my-MM .guidance_list > div,
  body.tl .guidance_list > div {
    display: flex;
    height: auto;
    min-height: 140px;
  }
  body.es-ES .guidance_list > div > a,
  body.my-MM .guidance_list > div > a,
  body.tl .guidance_list > div > a {
    flex: 1 1 auto;
  }
}

/* The SEO line above the logo (h1.midashi, 11px at 840px and below) is one line in a 390px phone in
   Japanese; Burmese and Nepali ran 20px past the logo bar, Filipino 11px, Spanish 10px, Vietnamese 9px
   (2026-10-11). Burmese and Nepali also take a shorter wording in this slot (DL-185). */
@media (max-width: 840px) {
  body.my-MM h1.midashi,
  body.ne-NP h1.midashi,
  body.tl h1.midashi,
  body.vi h1.midashi,
  body.es-ES h1.midashi {
    font-size: 10px;
  }
}

/* Spanish footer treatment menu: each link is 108px wide at 12px with 0.1em tracking, and
   "Blanqueamiento" and "Odontopediatría" are single words wider than that, so they were cut off.
   Hyphenate (the page is lang="es-ES"), and break anywhere where hyphenation is not available. */
body.es-ES footer .allmenus ul#menu-treatment li a {
  hyphens: auto;
  overflow-wrap: anywhere;
}

/* The translated clinic pages' .career boxes (.career appears on /clinic/ only): each translation
   is a different page id from the Japanese one (css/style.css, body.page-id-11, DL-205), and the
   longer text wrapped the 所属 column under 経歴 in both boxes at every desktop width. Columns side
   by side in the full column width; a column is never narrower than its longest unbreakable word,
   so no word is split. Korean breaks between words (keep-all), not between syllables. These texts
   have no unbreakable line as long as the Japanese one, so this holds from 769px (measured). */
@media (min-width: 769px) {
  body.zh-CN .career,
  body.en-US .career,
  body.my-MM .career,
  body.ne-NP .career,
  body.ko-KR .career,
  body.vi .career,
  body.tl .career,
  body.es-ES .career {
    flex-wrap: nowrap;
    column-gap: 24px;
    width: 100%;
  }
  body.ko-KR .career dl dd {
    word-break: keep-all;
  }
}

/* 841-1023px, every translation (measured 2026-10-13 at 841-1023 in 20px steps against the Japanese
   page at the same width; the checked widths 1440/1024/768/390 all fall outside this band). Each rule
   only brings a translation back to what the Japanese page does here; the Japanese page is unchanged.
   - Header: the hours text beside the logo is 325px wide in Japanese and 435-455px translated, so the
     logo shrank by up to 35px. Translated, it is held to the Japanese 325px and set smaller, so the
     logo matches the Japanese one and the text is no taller than the Japanese three lines (five at
     841px). Tracking: the Japanese 0.05em restated in px.
   - Footer menu: the fixed treatment (240px) and SNS (104px) columns and three 80px gaps leave the
     home and contact columns about 40px at 841px. Japanese breaks every character onto its own line
     there; a translated word cannot break, so the row ran 24-84px past the footer and cut the
     Instagram icon. The gaps become 40px at least (space-between still spreads them where there is
     room), and no word is split.
   - Opening hours table: the day names (Lun, Mar, Miy ...) are wider than the Japanese single
     characters and pushed Saturday and Sunday out of the table; the cells take the theme's own
     narrow-screen size (576px and below: 14px, 7px 5px; Filipino 7px 4px).
   - Feature boxes: two-line translated headings ran 3-16px further than the Japanese box; heading
     line height 1.3 (Latin and Burmese; Chinese, Korean and Nepali glyphs need their own line height,
     so Korean and Nepali text is 15px instead), and Filipino text 12px.
   - Inner pages' menu: below 993px style.css sets each item to 125px (the home page keeps 160px);
     the longer translated labels broke onto two lines and pushed the menu 5-18px out of the header.
     Translated, an item is at least 125px and as wide as its label, on one line (the widest row,
     Vietnamese, is 772px).
   - Hero badges (310px wide up to 996px): Filipino and Nepali took two lines in the 40px badge;
     14px and 15px there, as Burmese already is.
   - Doctors box: Burmese 12px and English 13.5px text.
   - The FEATURE heading block is centred on a 1080px row: the Spanish and Filipino headings ran
     6-10px past the window up to 850px, the Burmese one 14px up to 894px. Held to 600px to 900px. */
@media (min-width: 841px) and (max-width: 1023px) {
  body.zh-CN .headerinfo .info,
  body.en-US .headerinfo .info,
  body.my-MM .headerinfo .info,
  body.ne-NP .headerinfo .info,
  body.ko-KR .headerinfo .info,
  body.vi .headerinfo .info,
  body.tl .headerinfo .info,
  body.es-ES .headerinfo .info {
    max-width: 325px;
    font-size: 11.5px;
    line-height: 1.2;
    letter-spacing: 0.7px;
  }
  body.ko-KR .headerinfo .info {
    line-height: 1.3;
  }
  body.zh-CN .allmenus .inner,
  body.en-US .allmenus .inner,
  body.my-MM .allmenus .inner,
  body.ne-NP .allmenus .inner,
  body.ko-KR .allmenus .inner,
  body.vi .allmenus .inner,
  body.tl .allmenus .inner,
  body.es-ES .allmenus .inner {
    gap: 40px;
  }
  body.zh-CN .top_information .info .hours th,
  body.en-US .top_information .info .hours th,
  body.my-MM .top_information .info .hours th,
  body.ne-NP .top_information .info .hours th,
  body.ko-KR .top_information .info .hours th,
  body.vi .top_information .info .hours th,
  body.tl .top_information .info .hours th,
  body.es-ES .top_information .info .hours th,
  body.zh-CN .top_information .info .hours td,
  body.en-US .top_information .info .hours td,
  body.my-MM .top_information .info .hours td,
  body.ne-NP .top_information .info .hours td,
  body.ko-KR .top_information .info .hours td,
  body.vi .top_information .info .hours td,
  body.tl .top_information .info .hours td,
  body.es-ES .top_information .info .hours td {
    font-size: 14px;
    padding: 7px 5px;
  }
  body.tl .top_information .info .hours th,
  body.tl .top_information .info .hours td {
    padding: 7px 4px;
  }
  body.en-US .features .inner .txt h3,
  body.my-MM .features .inner .txt h3,
  body.vi .features .inner .txt h3,
  body.tl .features .inner .txt h3,
  body.es-ES .features .inner .txt h3 {
    line-height: 1.3;
  }
  body.ne-NP .features .inner .txt p,
  body.ko-KR .features .inner .txt p {
    font-size: 15px;
  }
  body.tl .features .inner .txt p {
    font-size: 12px;
  }
  body.my-MM .doctors .inner .txt p:not(.name) {
    font-size: 12px;
  }
  body.en-US .doctors .inner .txt p:not(.name) {
    font-size: 13.5px;
  }
}
@media (min-width: 841px) and (max-width: 900px) {
  body.zh-CN .feature .main_bg h2,
  body.en-US .feature .main_bg h2,
  body.my-MM .feature .main_bg h2,
  body.ne-NP .feature .main_bg h2,
  body.ko-KR .feature .main_bg h2,
  body.vi .feature .main_bg h2,
  body.tl .feature .main_bg h2,
  body.es-ES .feature .main_bg h2 {
    max-width: 600px;
  }
}
@media (min-width: 841px) and (max-width: 992px) {
  body.zh-CN:not(.home) .main-navigation a,
  body.en-US:not(.home) .main-navigation a,
  body.my-MM:not(.home) .main-navigation a,
  body.ne-NP:not(.home) .main-navigation a,
  body.ko-KR:not(.home) .main-navigation a,
  body.vi:not(.home) .main-navigation a,
  body.tl:not(.home) .main-navigation a,
  body.es-ES:not(.home) .main-navigation a {
    width: auto;
    min-width: 125px;
    white-space: nowrap;
  }
}
@media (min-width: 841px) and (max-width: 996px) {
  body.tl #mainvl .inner .tlt ul li p {
    font-size: 14px;
  }
  body.ne-NP #mainvl .inner .tlt ul li p {
    font-size: 15px;
  }
}

/* DL-214 (owner, relaying the clinic, 2026-10-18): text over a photo must not touch a person; shorter
   wording or smaller type. Two front-page subtitles ran wider than the Japanese onto people in the
   photo behind them (sweep output/OVERLAY-TEXT-20261018). Each language's is held inside the Japanese
   one's box. Japanese is untouched.
   FIRST-VISIT (the model-holder's hand), >= 641px where the Japanese is 20px on 28px lines and 379.6px
   wide: smaller type only, the same two lines and 28px line height, so the block keeps its size. */
@media (min-width: 641px) {
  body.zh-CN .first-visit .inner .heading h2 { font-size: 18px; line-height: 28px; }
  body.en-US .first-visit .inner .heading h2 { font-size: 14px; line-height: 28px; }
  body.my-MM .first-visit .inner .heading h2 { font-size: 15px; line-height: 28px; }
  body.ne-NP .first-visit .inner .heading h2 { font-size: 14.5px; line-height: 28px; }
  body.ko-KR .first-visit .inner .heading h2 { font-size: 18.5px; line-height: 28px; }
  body.vi .first-visit .inner .heading h2 { font-size: 15px; line-height: 28px; }
  body.tl .first-visit .inner .heading h2 { font-size: 13.5px; line-height: 28px; }
  body.es-ES .first-visit .inner .heading h2 { font-size: 14px; line-height: 28px; }
}
/* FEATURE (the gloved hand on the right), >= 841px where the Japanese is one 20px line, 340px wide.
   en, ne and ko fit one line at 13px or more. my, vi, tl and es would need 9.5-12px for one line, so
   they take two 14px lines inside the Japanese width instead: 36px tall against the Japanese 28, the
   extra 8px below it, over the blue band and clear of the hand. */
@media (min-width: 841px) {
  body.en-US .feature .main_bg .inner.num1 .heading h2 { font-size: 13px; line-height: 28px; }
  body.ne-NP .feature .main_bg .inner.num1 .heading h2 { font-size: 16px; line-height: 28px; }
  body.ko-KR .feature .main_bg .inner.num1 .heading h2 { font-size: 19.5px; line-height: 28px; }
  body.my-MM .feature .main_bg .inner.num1 .heading h2,
  body.vi .feature .main_bg .inner.num1 .heading h2,
  body.tl .feature .main_bg .inner.num1 .heading h2,
  body.es-ES .feature .main_bg .inner.num1 .heading h2 {
    max-width: 340px;
    margin-right: auto;
    margin-left: auto;
    font-size: 14px;
    line-height: 18px;
  }
}
