/*
 * Mobile-only corrections requested on 2026-08-13.
 * The approved desktop layout and all unrelated mobile sections are untouched.
 */
@media (max-width: 720px) {
  /* Keep the two title lines intact and optically centred. */
  .hero .hero-composed-copy h1 {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    max-width: 350px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    font-size: clamp(1.88rem, 9.6vw, 2.34rem) !important;
    line-height: 1.1 !important;
    text-align: center !important;
    transform: none !important;
  }

  .hero .hero-composed-copy h1 .title-line {
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
    white-space: nowrap !important;
    text-align: center !important;
    transform: none !important;
  }

  /* Centre the target / attendance pair as one balanced unit. */
  .hero .hero-mini-info {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(100%, 330px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
    transform: none !important;
  }

  .hero .hero-mini-info > div {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    justify-content: center !important;
    transform: none !important;
  }

  /* Keep the Sydney-origin message as a clean, intentional two-line item. */
  .hero .hero-info .kids p {
    display: grid !important;
    gap: 2px !important;
    margin: 0 !important;
    font-size: .74rem !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  .hero .hero-info .kids .origin-accent,
  .hero .hero-info .kids .origin-main {
    display: block !important;
    white-space: nowrap !important;
  }

  .hero .hero-info .kids .origin-accent {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 112px !important;
    color: #e77e3e !important;
    font-size: .47rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    transform: translateX(-5px) !important;
  }

  .hero .hero-info .kids .origin-accent::before,
  .hero .hero-info .kids .origin-accent::after {
    content: "" !important;
    display: block !important;
    width: 7px !important;
    height: 1px !important;
    flex: 0 0 7px !important;
    background: currentColor !important;
    opacity: .72 !important;
  }

  .hero .hero-info .kids .origin-accent::before {
    transform: translateY(2px) rotate(55deg) !important;
    transform-origin: right center !important;
  }

  .hero .hero-info .kids .origin-accent::after {
    transform: translateY(2px) rotate(-55deg) !important;
    transform-origin: left center !important;
  }

  .hero .hero-info .kids .origin-main {
    position: relative !important;
  }

  .hero .hero-info .kids .origin-main {
    color: inherit !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
  }

  /* Align only the Sydney-origin and age-range icons. */
  .hero .hero-info .kids .hero-info-icon,
  .hero .hero-info .event .hero-info-icon {
    width: 30px !important;
    height: 30px !important;
  }

  .hero .hero-info .event .hero-info-icon {
    transform: translateX(-5px) !important;
  }

  /* Restore the approved mobile hero artwork layout as one complete image. */
  .hero .hero-map {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fffdf1 !important;
  }

  .hero .hero-world-map {
    display: none !important;
  }

  .hero .hero-kids-original {
    position: relative !important;
    inset: auto !important;
    z-index: 5 !important;
    display: block !important;
    width: 100% !important;
    max-width: 380px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    mix-blend-mode: multiply !important;
    filter: none !important;
    transform: none !important;
    content: url("./assets/canva/hero-kids-map-client-approved.png") !important;
  }

  /* Restore a clean, centred, single-line first CTA. */
  .hero .hero-composed-copy .big-cta {
    box-sizing: border-box !important;
    display: flex !important;
    width: calc(100% - 24px) !important;
    max-width: 342px !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
    justify-content: center !important;
    white-space: nowrap !important;
    font-size: clamp(.9rem, 4.1vw, 1.02rem) !important;
    text-align: center !important;
    transform: none !important;
  }

  /* Make only the mobile CLASS INFORMATION block clearer and calmer. */
  .schedule-section {
    box-sizing: border-box !important;
    margin-top: 0 !important;
    padding: 24px 14px 46px !important;
    background: linear-gradient(180deg, #fffdf1 0%, #f7fbf4 100%) !important;
    text-align: center !important;
  }

  .schedule-heading-group {
    position: relative !important;
    width: 100% !important;
    max-width: 350px !important;
    margin: 0 auto 20px !important;
    padding: 0 10px 18px !important;
  }

  .schedule-heading-group::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    width: 58px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #79cf3d, #2588d8) !important;
    transform: translateX(-50%) !important;
  }

  .schedule-heading-group .schedule-kicker {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin: 0 auto 11px !important;
    padding: 7px 13px !important;
    color: #123f73 !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    background: #fff !important;
    border: 1px solid rgba(85,185,71,.25) !important;
    border-radius: 999px !important;
    box-shadow: 0 6px 18px rgba(50,105,70,.08) !important;
  }

  .schedule-heading-group .schedule-kicker span {
    color: #55a92d !important;
  }

  .schedule-heading-group .schedule-lead {
    margin: 0 !important;
    color: #40554e !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
    line-height: 1.75 !important;
    text-align: center !important;
  }

  .schedule-card {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 370px !important;
    margin: 0 auto !important;
    padding: 9px 9px 14px !important;
    background: #fff !important;
    border: 1px solid rgba(37,136,216,.14) !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 32px rgba(35,87,112,.11) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(37,136,216,.35) transparent !important;
  }

  .schedule-card img {
    display: block !important;
    width: 560px !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }

  .schedule-card p {
    position: sticky !important;
    left: 0 !important;
    width: calc(100vw - 64px) !important;
    max-width: 326px !important;
    margin: 12px 8px 0 !important;
    color: #314d60 !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }

  .schedule-card::after {
    content: "表は横に動かしてご覧いただけます" !important;
    position: sticky !important;
    left: 0 !important;
    display: block !important;
    width: calc(100vw - 64px) !important;
    max-width: 326px !important;
    margin: 8px 0 0 !important;
    color: #6b7c84 !important;
    font-size: .64rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  .schedule-card .schedule-note-line {
    display: block !important;
  }

  /* Tighten the first privacy-note-to-schedule transition only. */
  .hero .hero-composed-copy:last-child .notice {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
  }

  .hero {
    padding-bottom: 0 !important;
  }

  /* The reassurance below the third CTA is intentionally two lines. */
  .access-trial .trial-reassurance {
    max-width: 340px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  /* Join teacher introduction and its CTA into one continuous mobile panel. */
  main > .teacher-section {
    margin-bottom: 0 !important;
    padding-bottom: 22px !important;
    background: #fff !important;
    border-bottom: 0 !important;
  }

  main > .teacher-section + .access-trial {
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 18px 34px !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  main > .teacher-section + .access-trial::before,
  main > .teacher-section + .access-trial::after {
    content: none !important;
    display: none !important;
  }

  main > .teacher-section + .access-trial > * {
    position: relative !important;
    z-index: 1 !important;
  }

  /* Compact, polished mobile menu. */
  .site-header .menu-toggle {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    margin-left: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: transparent !important;
    font-size: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(18,63,115,.14) !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 16px rgba(18,63,115,.09) !important;
  }

  .site-header .menu-toggle::before {
    content: "" !important;
    width: 19px !important;
    height: 14px !important;
    background: linear-gradient(#123f73 0 0) top / 100% 2px no-repeat,
                linear-gradient(#123f73 0 0) center / 100% 2px no-repeat,
                linear-gradient(#123f73 0 0) bottom / 100% 2px no-repeat !important;
    border-radius: 2px !important;
  }

  .site-header .main-nav.is-open {
    gap: 7px !important;
    padding: 10px 0 4px !important;
  }

  .site-header .main-nav.is-open a {
    padding: 10px 7px !important;
    color: #123f73 !important;
    font-size: .76rem !important;
    line-height: 1.3 !important;
    background: #fff !important;
    border: 1px solid rgba(18,63,115,.1) !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(18,63,115,.05) !important;
  }

  /* Align and scale the four mobile contact summaries consistently. */
  .access-section .access-summary-grid {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 24px auto 0 !important;
    padding: 5px !important;
    background: rgba(255,255,255,.84) !important;
    border: 1px solid rgba(18,63,115,.1) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 28px rgba(27,70,92,.08) !important;
  }

  .access-section .access-summary-grid article {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 8px !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 88px !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .access-section .access-summary-grid article:nth-child(even) {
    border-left: 1px solid rgba(18,63,115,.09) !important;
  }

  .access-section .access-summary-grid article:nth-child(n+3) {
    border-top: 1px solid rgba(18,63,115,.09) !important;
  }

  .access-section .summary-icon,
  .access-section .instagram-mark {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    display: grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #123f73 !important;
    background: #edf5fc !important;
    border: 0 !important;
    border-radius: 8px !important;
    transform: none !important;
  }

  .access-section .summary-icon svg,
  .access-section .instagram-mark svg {
    width: 15px !important;
    height: 15px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
  }

  .access-section .access-summary-grid h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    margin: 0 !important;
    color: #252b29 !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    transform: none !important;
  }

  .access-section .access-summary-grid article > a,
  .access-section .access-summary-grid article > p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 3px 0 0 !important;
    color: #394b55 !important;
    font-size: .57rem !important;
    font-weight: 600 !important;
    line-height: 1.38 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
    transform: none !important;
  }

  /* Match business-info icon/title to Contact, then arrange its details below. */
  .access-section .access-summary-grid article:nth-child(2) {
    grid-template-columns: 26px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    align-content: stretch !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .access-section .access-summary-grid article:nth-child(2) .summary-icon,
  .access-section .access-summary-grid article:nth-child(2) h3,
  .access-section .access-summary-grid article:nth-child(2) p {
    transform: none !important;
  }

  .access-section .access-summary-grid article:nth-child(2) .summary-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    margin-top: 0 !important;
  }

  .access-section .access-summary-grid article:nth-child(2) h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    margin-top: 0 !important;
  }

  .access-section .access-summary-grid article:nth-child(2) p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin-top: 3px !important;
    font-size: .55rem !important;
    line-height: 1.45 !important;
  }

  .access-section .access-summary-grid article:nth-child(2) p strong {
    color: #252b29 !important;
    font-size: .54rem !important;
    font-weight: 800 !important;
  }

  /* Authoritative centred layout for the four mobile contact items. */
  .access-section .access-summary-grid article,
  .access-section .access-summary-grid article:nth-child(2) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 30px auto auto !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 108px !important;
    padding: 14px 12px !important;
    text-align: center !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
  }

  .access-section .access-summary-grid article:first-child {
    border-top: 0 !important;
  }

  .access-section .access-summary-grid article + article,
  .access-section .access-summary-grid article:nth-child(even),
  .access-section .access-summary-grid article:nth-child(n+3) {
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-top: 1px solid rgba(18,63,115,.09) !important;
  }

  .access-section .access-summary-grid article:nth-child(2) {
    border-top: 1px solid rgba(18,63,115,.09) !important;
    border-left: 0 !important;
  }

  /* Match the approved desktop access/contact colour system. */
  .access-section {
    background: #f7fceb !important;
  }

  .access-section .access-kicker {
    color: #55b947 !important;
  }

  .access-section > h2 {
    color: #252b29 !important;
  }

  .access-section .access-lead {
    color: #53665f !important;
  }

  .access-section .access-grid .access-card {
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(88,189,37,.2) !important;
    box-shadow: 0 8px 22px rgba(74,139,42,.09) !important;
  }

  .access-section .access-grid .access-icon {
    color: #55b947 !important;
    background: #fff !important;
    border: 1px solid rgba(88,189,37,.25) !important;
    box-shadow: 0 5px 14px rgba(74,139,42,.08) !important;
  }

  .access-section .access-grid .access-label {
    color: #55b947 !important;
  }

  .access-section .access-summary-grid {
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(88,189,37,.18) !important;
    box-shadow: 0 12px 34px rgba(74,139,42,.09) !important;
  }

  .access-section .access-summary-grid .summary-icon,
  .access-section .access-summary-grid article:nth-child(2) .summary-icon {
    color: #123f73 !important;
    background: rgba(255,255,255,.95) !important;
    border: 1px solid rgba(18,63,115,.14) !important;
    border-radius: 50% !important;
    box-shadow: 0 5px 14px rgba(18,63,115,.07) !important;
  }

  .access-section .access-summary-grid .instagram-mark {
    color: #bd347c !important;
    background: linear-gradient(145deg, #fff 0%, #fff7fb 100%) !important;
    border: 1px solid rgba(193,53,132,.18) !important;
    border-radius: 50% !important;
    box-shadow: 0 5px 14px rgba(193,53,132,.07) !important;
  }

  .access-section .access-summary-grid h3,
  .access-section .access-summary-grid article:nth-child(2) h3 {
    color: #252b29 !important;
  }

  .access-section .access-summary-grid article > a {
    color: #123f73 !important;
  }

  .access-section .access-summary-grid article > p,
  .access-section .access-summary-grid article:nth-child(2) p {
    color: #4b5a54 !important;
  }

  .access-section .access-summary-grid .summary-icon,
  .access-section .access-summary-grid .instagram-mark,
  .access-section .access-summary-grid article:nth-child(2) .summary-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    margin: 0 auto !important;
  }

  .access-section .access-summary-grid h3,
  .access-section .access-summary-grid article:nth-child(2) h3 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .access-section .access-summary-grid article > a,
  .access-section .access-summary-grid article > p,
  .access-section .access-summary-grid article:nth-child(2) p {
    grid-column: 1 !important;
    grid-row: 3 !important;
    align-self: start !important;
    justify-self: center !important;
    width: 100% !important;
    max-width: 290px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  /* Refine only the mobile access/contact presentation. */
  .access-section {
    padding: 46px 16px 42px !important;
    background: linear-gradient(180deg, #fffdf1 0%, #f7fbf6 100%) !important;
    text-align: center !important;
  }

  .access-section .access-kicker {
    display: inline-block !important;
    margin: 0 auto 10px !important;
    color: #55a92d !important;
    font-size: .67rem !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
  }

  .access-section > h2 {
    margin: 0 auto 13px !important;
    color: #252b29 !important;
    font-size: 1.72rem !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  .access-section .access-lead {
    max-width: 340px !important;
    margin: 0 auto 24px !important;
    color: #52625c !important;
    font-size: .86rem !important;
    line-height: 1.75 !important;
    text-align: center !important;
  }

  .access-section .access-grid {
    gap: 10px !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }

  .access-section .access-grid .access-card {
    min-height: 0 !important;
    padding: 15px 14px !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(85,169,45,.16) !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 22px rgba(42,88,60,.07) !important;
  }

  .access-section .access-grid .access-icon {
    display: grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 auto 7px !important;
    color: #fff !important;
    font-size: .85rem !important;
    line-height: 1 !important;
    background: linear-gradient(145deg, #66bd3e, #3d9b35) !important;
    border-radius: 9px !important;
    box-shadow: 0 5px 12px rgba(67,151,54,.2) !important;
  }

  .access-section .access-grid .access-label {
    margin: 0 0 4px !important;
    color: #4c9e2e !important;
    font-size: .6rem !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
  }

  .access-section .access-grid h3 {
    margin: 0 0 5px !important;
    color: #26322d !important;
    font-size: .91rem !important;
    line-height: 1.4 !important;
  }

  .access-section .access-grid p:last-child {
    margin: 0 !important;
    color: #52625c !important;
    font-size: .72rem !important;
    line-height: 1.5 !important;
  }

  .access-section .summary-icon,
  .access-section .instagram-mark {
    color: #fff !important;
    background: linear-gradient(145deg, #2588d8, #176bb2) !important;
    border-radius: 8px !important;
    box-shadow: 0 5px 12px rgba(31,112,180,.18) !important;
  }

  .access-section .instagram-mark {
    background: linear-gradient(145deg, #6c66d9, #c75592) !important;
  }

  .access-section .summary-icon svg,
  .access-section .instagram-mark svg {
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  /* Finish the mobile page on one clean centre axis. */
  .site-footer {
    display: grid !important;
    justify-items: center !important;
    padding: 26px 16px 30px !important;
    text-align: center !important;
  }

  .site-footer .footer-brand-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .site-footer .footer-brand-block img {
    display: block !important;
    width: 92px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .site-footer .footer-brand-block p {
    margin: 0 !important;
    color: #39413e !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-align: center !important;
  }

  /* Final mobile contact navigation: a clean, readable four-row list. */
  .access-section .access-summary-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 350px !important;
    margin: 22px auto 0 !important;
    padding: 4px 14px !important;
    background: #fff !important;
    border: 1px solid rgba(18,63,115,.09) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(29,71,91,.08) !important;
    overflow: hidden !important;
  }

  .access-section .access-summary-grid article,
  .access-section .access-summary-grid article:nth-child(2) {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 11px !important;
    row-gap: 2px !important;
    align-items: center !important;
    align-content: center !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 12px 2px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .access-section .access-summary-grid article + article {
    border-top: 1px solid rgba(18,63,115,.08) !important;
    border-left: 0 !important;
  }

  .access-section .access-summary-grid .summary-icon,
  .access-section .access-summary-grid .instagram-mark,
  .access-section .access-summary-grid article:nth-child(2) .summary-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    justify-self: center !important;
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #123f73 !important;
    background: #eef5fb !important;
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .access-section .access-summary-grid .instagram-mark {
    color: #a34282 !important;
    background: #fbf0f7 !important;
  }

  .access-section .access-summary-grid .summary-icon svg,
  .access-section .access-summary-grid .instagram-mark svg {
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  .access-section .access-summary-grid h3,
  .access-section .access-summary-grid article:nth-child(2) h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    margin: 0 !important;
    color: #252b29 !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    transform: none !important;
  }

  .access-section .access-summary-grid article > a,
  .access-section .access-summary-grid article > p,
  .access-section .access-summary-grid article:nth-child(2) p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 2px 0 0 !important;
    color: #4b5a54 !important;
    font-size: .65rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
    transform: none !important;
  }

  .access-section .access-summary-grid article:nth-child(2) p strong {
    color: #252b29 !important;
    font-size: .62rem !important;
    font-weight: 800 !important;
  }
}

/* Japanese mobile: restore the approved three-circle arrangement shown in
   the reference image.  Keep a light, even overlap and ample copy space. */
@media (max-width: 720px) {
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar-circles {
    position: relative !important;
    width: min(100%, 330px) !important;
    max-width: 330px !important;
    height: 254px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar {
    box-sizing: border-box !important;
    width: 138px !important;
    height: 138px !important;
    min-height: 0 !important;
    padding: 14px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain {
    top: 0 !important;
    left: 31px !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global {
    top: 0 !important;
    right: 30px !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.heart {
    top: 114px !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* Final access heading colour shared with the approved desktop green. */
@media (max-width: 720px) {
  html[lang="ja"] body main .access-section > h2 {
    color: #3d9f16 !important;
    -webkit-text-fill-color: #3d9f16 !important;
  }
}

/* Japanese mobile header matches the approved English mobile navy treatment. */
@media (max-width: 720px) {
  html[lang="ja"] body .site-header .header-brand,
  html[lang="ja"] body .site-header .language-nav a,
  html[lang="ja"] body .site-header .language-nav a[aria-current="page"] {
    color: #123f73 !important;
    -webkit-text-fill-color: #123f73 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
  }

  html[lang="ja"] body .site-header .language-nav a[aria-current="page"] {
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* Final mobile separator: Contact / Business information. */
@media (max-width: 720px) {
  .access-section .access-summary-grid > article:nth-child(2) {
    border-top: 1px solid rgba(18, 63, 115, 0.14) !important;
    border-left: 0 !important;
  }

  /* Place the two location icons to the left of their venue information. */
  .access-section .access-grid .access-card {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 11px !important;
    row-gap: 2px !important;
    align-items: center !important;
    justify-items: stretch !important;
    padding: 15px 16px !important;
    text-align: left !important;
  }

  .access-section .access-grid .access-card .access-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
  }

  .access-section .access-grid .access-card .access-label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .access-section .access-grid .access-card h3 {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 2px 0 0 !important;
    text-align: left !important;
  }

  .access-section .access-grid .access-card p:last-child {
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin: 2px 0 0 !important;
    text-align: left !important;
  }

  /* Align the Sydney-origin and age-range icons to the same left axis. */
  .hero .hero-info .kids .hero-info-icon,
  .hero .hero-info .event .hero-info-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    margin: 0 !important;
    transform: none !important;
  }

  .hero .hero-info .kids,
  .hero .hero-info .event {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    column-gap: 8px !important;
    align-items: center !important;
    justify-items: stretch !important;
    width: 100% !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  .hero .hero-info .kids > p,
  .hero .hero-info .event > p {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .hero .hero-info .kids .origin-accent,
  .hero .hero-info .kids .origin-main {
    text-align: left !important;
  }

  /* Mobile header: language switch above, menu button below on the right. */
  .site-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: 8px !important;
    row-gap: 5px !important;
  }

  .site-header .header-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    line-height: 1 !important;
  }

  .site-header .language-nav {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
  }

  .site-header .menu-toggle {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    margin: 7px 0 1px !important;
  }

  .site-header::after {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 51px !important;
    background: #fffdf1 !important;
    border-top: 1px solid rgba(18,63,115,.07) !important;
    pointer-events: none !important;
  }

  .site-header {
    position: sticky !important;
    isolation: isolate !important;
  }

  .site-header .main-nav,
  .site-header .main-nav.is-open {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  .hero {
    padding-top: 4px !important;
  }

  .hero .hero-composed {
    padding-top: 4px !important;
  }

  .hero .hero-composed-copy:first-child {
    margin-top: -5px !important;
  }
}

/* Final compact mobile header: brand, languages and menu on one row. */
@media (max-width: 720px) {
  .site-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 38px !important;
    grid-template-rows: 42px auto !important;
    column-gap: 6px !important;
    row-gap: 0 !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
    background: rgba(255,253,241,.97) !important;
  }

  .site-header::after {
    content: none !important;
    display: none !important;
  }

  .site-header .header-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    min-width: 0 !important;
    font-size: .72rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .site-header .language-nav {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    margin: 0 !important;
  }

  .site-header .language-nav a {
    padding: 5px 6px !important;
    font-size: .61rem !important;
  }

  .site-header .menu-toggle {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
  }

  .site-header .main-nav,
  .site-header .main-nav.is-open {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  .hero,
  .hero .hero-composed {
    padding-top: 2px !important;
  }

  .hero .hero-composed-copy:first-child {
    margin-top: 7px !important;
    transform: translateY(8px) !important;
  }

  /* Pull the children/map artwork and everything below it up very slightly. */
  .hero .hero-composed-visual {
    margin-top: -7px !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .hero .hero-mini-info {
    position: relative !important;
    z-index: 10 !important;
  }

  .hero .hero-composed-copy:first-child {
    position: relative !important;
    z-index: 10 !important;
  }

  .site-header .language-nav {
    gap: 5px !important;
  }

  .site-header .language-nav a + a::before {
    margin-right: 5px !important;
  }

  /* Client-supplied hero artwork, mobile only. */
  .hero .hero-map {
    position: relative !important;
    display: block !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    background: #fffdf1 !important;
  }

  .hero .hero-world-map,
  .hero .hero-kids-original {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
    mix-blend-mode: multiply !important;
  }

  .hero .hero-world-map {
    z-index: 1 !important;
    opacity: .86 !important;
    mix-blend-mode: normal !important;
    transform: scale(1.05) !important;
  }

  .hero .hero-kids-original {
    top: 5% !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 5 !important;
    width: 95% !important;
    height: 95% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    content: normal !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    transform: translateX(-2.5%) !important;
    transform-origin: center bottom !important;
  }
}

/* Unified body-copy color requested by client. */
.hero .hero-lead,
.hero .hero-info p,
.mobile-feature-copy,
.desktop-feature-copy,
.feature-learning-pillars .hero-pillar span,
.feature-learning-pillars > p,
.feature-learning-pillars > p .pillar-blue,
.feature-learning-pillars > p .pillar-orange,
.feature-learning-pillars > p .pillar-green,
.access-summary-grid h3,
.access-summary-grid p,
.access-summary-grid p strong,
.access-summary-grid a {
  color: #2d2c2a !important;
}

/* 2026-08-14: client image, Google Maps and footer refinements — mobile only. */
@media (max-width: 720px) {
  /* Keep the approved mobile hero composition while using the new client images. */
  .hero .hero-map {
    background: #fffdf1 !important;
  }

  .hero .hero-world-map {
    z-index: 1 !important;
    opacity: .86 !important;
    transform: scale(1.05) !important;
  }

  .hero .hero-kids-original {
    z-index: 5 !important;
    width: 95% !important;
    height: 95% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    transform: translateX(-2.5%) !important;
  }

  /* Google Maps: one clear, full-width map per venue. */
  .access-section .access-map-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 350px !important;
    margin: 16px auto 0 !important;
  }

  .access-section .access-map-card {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 12px !important;
    background: #fff !important;
    border: 1px solid rgba(18, 63, 115, .09) !important;
    border-radius: 16px !important;
    box-shadow: 0 9px 26px rgba(29, 71, 91, .07) !important;
    overflow: hidden !important;
  }

  .access-section .access-map-card h3 {
    margin: 0 !important;
    padding: 11px 14px 9px !important;
    color: #2d2c2a !important;
    font-size: .78rem !important;
    letter-spacing: .08em !important;
    text-align: left !important;
  }

  .access-section .access-map-card iframe {
    display: block !important;
    width: 100% !important;
    height: 220px !important;
    margin: 0 !important;
    border: 0 !important;
  }

  .access-section .access-map-card a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 10px auto 0 !important;
    color: #245f50 !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
  }

  /* Business and privacy details live in the footer on mobile as well. */
  .access-section .access-summary-grid > article:nth-child(2),
  .access-section .access-summary-grid > article:nth-child(4) {
    display: none !important;
  }

  .site-footer .desktop-footer-info {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 350px !important;
    margin: 16px auto 0 !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(18, 63, 115, .09) !important;
  }

  .site-footer .footer-business-info,
  .site-footer .footer-privacy-link {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) !important;
    column-gap: 9px !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    color: #2d2c2a !important;
    background: rgba(255,255,255,.72) !important;
    border: 1px solid rgba(18, 63, 115, .08) !important;
    border-radius: 12px !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  .site-footer .footer-business-info {
    grid-template-rows: auto auto auto !important;
  }

  .site-footer .footer-info-icon {
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
    display: grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    color: #245f50 !important;
  }

  .site-footer .footer-info-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  .site-footer .footer-business-info strong,
  .site-footer .footer-business-name,
  .site-footer .footer-business-location,
  .site-footer .footer-privacy-link > span:last-child {
    grid-column: 2 !important;
    margin: 0 !important;
    color: #2d2c2a !important;
    line-height: 1.45 !important;
  }

  .site-footer .footer-business-info strong,
  .site-footer .footer-privacy-link > span:last-child {
    font-size: .72rem !important;
    font-weight: 800 !important;
  }

  .site-footer .footer-business-name,
  .site-footer .footer-business-location {
    font-size: .64rem !important;
    font-weight: 600 !important;
  }
}

/* 2026-08-14: final mobile hero balance and venue-by-venue map order. */
@media (max-width: 720px) {
  .hero .hero-world-map {
    transform: translate(-5%, -23%) scale(1.05) !important;
    transform-origin: center center !important;
  }

  .hero .hero-kids-original {
    top: 26% !important;
    right: auto !important;
    left: -4.5% !important;
    width: 77% !important;
    height: 77% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    object-position: center bottom !important;
    transform: none !important;
    transform-origin: center bottom !important;
  }

  /* The address is repeated inside each map card so mobile reads address → map. */
  .access-section .access-grid {
    display: none !important;
  }

  .access-section .access-map-card h3 {
    padding-bottom: 6px !important;
  }

  .access-section .access-map-card h3::after {
    display: block !important;
    margin-top: 4px !important;
    color: #4b524f !important;
    font-size: .7rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .access-section .access-map-card:first-child h3::after {
    content: "Uniting Harris Community Centre\A97 Quarry St, Ultimo NSW 2007" !important;
    white-space: pre-line !important;
  }

  .access-section .access-map-card:nth-child(2) h3::after {
    content: "Sydney Japanese International School\A112 Booralie Rd, Terrey Hills NSW 2084" !important;
    white-space: pre-line !important;
  }
}

/* 2026-08-14: unify all requested mobile body copy to one readable black. */
@media (max-width: 720px) {
  .hero .hero-lead,
  .hero .hero-lead span,
  .hero .hero-info p,
  .hero .hero-info p span,
  .mobile-feature-copy,
  .feature-learning-pillars h2,
  .feature-learning-pillars .hero-pillar span,
  .feature-learning-pillars > p,
  .feature-learning-pillars > p span,
  .access-section .access-lead,
  .access-section .access-map-card h3,
  .access-section .access-map-card h3::after,
  .access-section .access-summary-grid h3,
  .access-section .access-summary-grid p,
  .access-section .access-summary-grid p strong,
  .access-section .access-summary-grid a,
  .site-footer,
  .site-footer p,
  .site-footer strong,
  .site-footer span,
  .site-footer a {
    color: #2d2c2a !important;
  }

  .hero .hero-info p,
  .hero .hero-info p span {
    font-size: .78rem !important;
    line-height: 1.45 !important;
  }

  .hero .hero-info .origin-accent,
  .hero .hero-info .origin-main {
    color: #2d2c2a !important;
  }

  .feature-learning-pillars h2 {
    font-weight: 800 !important;
  }

  .feature-learning-pillars .hero-pillar span,
  .feature-learning-pillars > p {
    font-weight: 600 !important;
  }

  /* Footer details: simple icon-and-copy rows without card-shaped boxes. */
  .site-footer .desktop-footer-info {
    gap: 7px !important;
    max-width: 330px !important;
    padding-top: 12px !important;
  }

  .site-footer .footer-business-info,
  .site-footer .footer-privacy-link {
    padding: 6px 4px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .site-footer .footer-privacy-link {
    border-top: 1px solid rgba(45, 44, 42, .08) !important;
    padding-top: 10px !important;
  }

  /* Keep the age-range item readable without colliding with adjacent copy. */
  .hero .hero-info .event p {
    font-size: 0 !important;
    line-height: 1.4 !important;
  }

  .hero .hero-info .event p::after {
    content: "特許取得の\Aそろタッチアプリ使用" !important;
    display: block !important;
    color: #2d2c2a !important;
    font-size: .76rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    white-space: pre-line !important;
  }

  /* Footer navigation: business and privacy sit side by side like Contact/Instagram. */
  .site-footer .desktop-footer-info {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    max-width: 350px !important;
  }

  .site-footer .footer-business-info,
  .site-footer .footer-privacy-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 8px 2px !important;
    border: 0 !important;
    text-align: center !important;
  }

  .site-footer .footer-privacy-link {
    border-top: 0 !important;
  }

  .site-footer .footer-info-icon {
    flex: 0 0 30px !important;
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    color: #123f73 !important;
    background: #eef5fb !important;
    border-radius: 9px !important;
  }

  .site-footer .footer-business-info strong,
  .site-footer .footer-privacy-link > span:last-child {
    display: block !important;
    color: #2d2c2a !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  .site-footer .footer-business-name,
  .site-footer .footer-business-location {
    display: none !important;
  }

  /* Match “Digital Abacus Classroom” to the other three overview items. */
  .hero .hero-info .kids .origin-main {
    font-size: .78rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
  }

  /* Restore the original three accent colors in the introductory copy. */
  .hero .hero-lead .power-red {
    color: #ef3568 !important;
  }

  .hero .hero-lead .power-orange {
    color: #f28a16 !important;
  }

  .hero .hero-lead .power-green {
    color: #35a948 !important;
  }

  /* Force this learning block to use the same body black, overriding legacy green. */
  .feature-message .feature-learning-pillars h2,
  .feature-message .feature-learning-pillars .hero-pillar span,
  .feature-message .feature-learning-pillars > p,
  .feature-message .feature-learning-pillars > p .pillar-blue,
  .feature-message .feature-learning-pillars > p .pillar-orange,
  .feature-message .feature-learning-pillars > p .pillar-green {
    color: #2d2c2a !important;
    -webkit-text-fill-color: #2d2c2a !important;
    background: none !important;
    background-image: none !important;
  }

  /* Complete, tidy mobile footer: brand first, then business and privacy. */
  .site-footer {
    gap: 0 !important;
    padding: 24px 18px 28px !important;
  }

  .site-footer .footer-brand-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .site-footer .footer-brand-block img {
    width: 82px !important;
    margin: 0 !important;
  }

  .site-footer .footer-brand-block p {
    margin: 0 !important;
    color: #2d2c2a !important;
    font-size: .8rem !important;
    font-weight: 800 !important;
    letter-spacing: .025em !important;
    white-space: nowrap !important;
  }

  .site-footer .desktop-footer-info {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr) !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 15px auto 0 !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(45, 44, 42, .1) !important;
  }

  .site-footer .footer-business-info,
  .site-footer .footer-privacy-link {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    align-content: center !important;
    align-items: center !important;
    column-gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 9px 8px !important;
    color: #2d2c2a !important;
    background: rgba(255,255,255,.58) !important;
    border: 1px solid rgba(45, 44, 42, .08) !important;
    border-radius: 12px !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  .site-footer .footer-info-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
  }

  .site-footer .footer-business-info strong,
  .site-footer .footer-business-name,
  .site-footer .footer-business-location,
  .site-footer .footer-privacy-link > span:last-child {
    grid-column: 2 !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #2d2c2a !important;
    white-space: normal !important;
  }

  .site-footer .footer-business-info strong,
  .site-footer .footer-privacy-link > span:last-child {
    font-size: .68rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
  }

  .site-footer .footer-business-name,
  .site-footer .footer-business-location {
    font-size: .56rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  /* Give the Sydney/classroom item a clear gap between icon and copy. */
  .hero .hero-info .kids {
    grid-template-columns: 26px minmax(0, 1fr) !important;
    column-gap: 13px !important;
  }

  .hero .hero-info .kids .hero-info-icon {
    transform: translateX(-4px) !important;
  }

  .hero .hero-info .kids > p {
    transform: translateX(3px) !important;
  }

  /* Match the introductory copy to the “What is SoroTouch?” explanation. */
  .hero .hero-lead {
    color: #2d2c2a !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
    line-height: 1.75 !important;
  }

  .hero .hero-lead .power-red {
    color: #ef3568 !important;
  }

  .hero .hero-lead .power-orange {
    color: #f28a16 !important;
  }

  .hero .hero-lead .power-green {
    color: #35a948 !important;
  }

  /* Rebalance the four overview items as two clear mobile columns. */
  .hero .hero-info .kids,
  .hero .hero-info .event {
    transform: translateX(-16px) !important;
  }

  .hero .hero-info .language,
  .hero .hero-info .hybrid {
    position: relative !important;
    left: 21px !important;
    transform: none !important;
  }

  .hero .hero-info .event {
    position: relative !important;
    top: 5px !important;
  }

  .hero .hero-info .kids {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    column-gap: 9px !important;
  }

  .hero .hero-info .kids .hero-info-icon,
  .hero .hero-info .kids > p {
    transform: none !important;
  }

  .hero .hero-info .kids .origin-main {
    font-size: .78rem !important;
    white-space: nowrap !important;
  }

  .hero .hero-info .language p,
  .hero .hero-info .hybrid p,
  .hero .hero-info .event p::after {
    font-size: .78rem !important;
  }

  .feature-message .feature-learning-pillars {
    background: linear-gradient(180deg, #ffffff 0%, #fffdf9 100%) !important;
  }

  /* Requested footer order: navigation first, brand signature last. */
  .site-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .site-footer .desktop-footer-info {
    order: 1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 350px !important;
    margin: 0 auto !important;
    padding: 0 0 6px !important;
    border: 0 !important;
  }

  .site-footer .footer-business-info,
  .site-footer .footer-privacy-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 7px 2px !important;
    color: #2d2c2a !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  .site-footer .footer-info-icon {
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 30px !important;
  }

  .site-footer .footer-business-info strong,
  .site-footer .footer-privacy-link > span:last-child {
    display: block !important;
    color: #2d2c2a !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  .site-footer .footer-business-name,
  .site-footer .footer-business-location {
    display: none !important;
  }

  .site-footer .footer-brand-block {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-top: 7px !important;
    border-top: 1px solid rgba(45, 44, 42, .1) !important;
  }

  .site-footer .footer-brand-block img {
    width: 78px !important;
    margin: 0 !important;
  }

  .site-footer .footer-brand-block p {
    margin: 0 !important;
    color: #2d2c2a !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  /* Absolute color lock for the three pillar captions and their explanation. */
  body main .feature-message .feature-learning-pillars .hero-pillar-circles .hero-pillar span,
  body main .feature-message .feature-learning-pillars > p,
  body main .feature-message .feature-learning-pillars > p * {
    color: #2d2c2a !important;
    -webkit-text-fill-color: #2d2c2a !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    text-shadow: none !important;
  }

  /* Restore the full business wording without changing the footer order. */
  .site-footer .footer-business-info {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    align-content: start !important;
    align-items: center !important;
    text-align: left !important;
  }

  .site-footer .footer-business-info .footer-info-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
  }

  .site-footer .footer-business-info strong,
  .site-footer .footer-business-name,
  .site-footer .footer-business-location {
    grid-column: 2 !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #2d2c2a !important;
    white-space: normal !important;
  }

  .site-footer .footer-business-info strong {
    font-size: .68rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
  }

  .site-footer .footer-business-name,
  .site-footer .footer-business-location {
    font-size: .54rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  /* Exactly match the mobile “What is SoroTouch?” body-copy typography. */
  .hero .hero-lead {
    color: #080808 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
    position: relative !important;
    left: 5px !important;
    transform: none !important;
    text-align: center !important;
  }

  .hero .hero-lead .power-red {
    color: #ef3568 !important;
  }

  .hero .hero-lead .power-orange {
    color: #f28a16 !important;
  }

  .hero .hero-lead .power-green {
    color: #35a948 !important;
  }

  .hero .hero-lead .hero-tablet-mobile-break {
    display: none !important;
  }

  .hero .hero-lead .hero-world-mobile-join {
    display: block !important;
    clear: both !important;
  }

  .hero .hero-lead .hero-tablet-world-line {
    display: inline-block !important;
    color: #080808 !important;
    white-space: nowrap !important;
  }

  /* Align the business heading with Privacy and wrap the Sydney note cleanly. */
  .site-footer .footer-business-info .footer-info-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
  }

  .site-footer .footer-business-info strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
  }

  .site-footer .footer-business-name {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin-top: 1px !important;
  }

  .site-footer .footer-business-location {
    grid-column: 2 !important;
    grid-row: 3 !important;
    font-size: 0 !important;
    margin-top: 1px !important;
  }

  .site-footer .footer-business-location::after {
    content: "シドニー（オンラインでも受講可）" !important;
    display: block !important;
    color: #2d2c2a !important;
    font-size: .54rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  .site-footer .footer-privacy-link {
    align-self: start !important;
  }

  /* Slight optical emphasis for the main mobile title. */
  .hero .hero-composed-copy h1 {
    position: relative !important;
    top: 4px !important;
    font-size: clamp(1.95rem, 9.9vw, 2.42rem) !important;
  }

  /* Match the desktop venue accents while keeping addresses neutral. */
  .access-section .access-map-card:first-child h3 {
    color: #55a63b !important;
  }

  .access-section .access-map-card:nth-child(2) h3 {
    color: #257dc1 !important;
  }

  .access-section .access-map-card h3::after {
    color: #2d2c2a !important;
    -webkit-text-fill-color: #2d2c2a !important;
  }

  /* Tighten the business heading and name into one visual unit. */
  .site-footer .footer-business-info strong {
    margin: 0 !important;
    line-height: 1.15 !important;
  }

  .site-footer .footer-business-name {
    margin: -8px 0 0 !important;
    line-height: 1.2 !important;
  }

  .site-footer .footer-business-location {
    margin: -2px 0 0 !important;
    line-height: 1.2 !important;
  }

  /* Match target/attendance copy to the four overview items without overlap. */
  .hero .hero-mini-info {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 10px !important;
    width: min(calc(100% - 12px), 370px) !important;
    padding-right: 4px !important;
    padding-left: 4px !important;
  }

  .hero .hero-mini-info > div {
    position: relative !important;
    top: -4px !important;
    min-width: 0 !important;
    padding-right: 2px !important;
    padding-left: 2px !important;
  }

  .hero .hero-mini-info span {
    position: relative !important;
    top: -2px !important;
    display: block !important;
    color: #2d2c2a !important;
    font-size: .74rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .hero .hero-mini-info .target {
    position: relative !important;
    left: -9px !important;
  }

  .hero .hero-mini-info .worldwide {
    position: relative !important;
    left: -5px !important;
  }

  .hero .hero-mini-info strong {
    position: relative !important;
    top: 0 !important;
  }

  .hero .hero-mini-info .target strong {
    transform: none !important;
  }

  .hero .hero-mini-info .target::before {
    transform: translateX(4px) !important;
  }

  .hero .hero-mini-info .worldwide strong {
    transform: translateX(-8px) !important;
  }

  .hero .hero-mini-info .worldwide span {
    transform: translateX(-8px) !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar-circles .hero-pillar span,
  body main .feature-message .feature-learning-pillars > p,
  body main .feature-message .feature-learning-pillars > p * {
    color: #080808 !important;
    -webkit-text-fill-color: #080808 !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar-circles {
    width: min(100%, 342px) !important;
    max-width: 342px !important;
    height: 256px !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar-circles .hero-pillar {
    width: 138px !important;
    max-width: 138px !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar.brain {
    left: 26px !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar.global {
    right: 26px !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar.heart {
    top: 112px !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar-circles .hero-pillar span {
    font-size: .7rem !important;
    line-height: 1.35 !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar.brain span {
    font-size: 0 !important;
  }

  body main .feature-message .feature-learning-pillars .hero-pillar.brain span::after {
    content: "情報処理能力\A暗算力" !important;
    display: block !important;
    color: #080808 !important;
    -webkit-text-fill-color: #080808 !important;
    font-size: .7rem !important;
    line-height: 1.35 !important;
    white-space: pre-line !important;
  }

  body main .feature-message .feature-learning-pillars > p {
    font-size: .86rem !important;
    line-height: 1.7 !important;
  }

  body main .feature-message .feature-learning-pillars > p .pillar-blue {
    color: #2079d8 !important;
    -webkit-text-fill-color: #2079d8 !important;
  }

  body main .feature-message .feature-learning-pillars > p .pillar-orange {
    color: #f0831a !important;
    -webkit-text-fill-color: #f0831a !important;
  }

  body main .feature-message .feature-learning-pillars > p .pillar-green {
    color: #54ac33 !important;
    -webkit-text-fill-color: #54ac33 !important;
  }

  body main .access-section .access-summary-grid > article:nth-child(1) h3,
  body main .access-section .access-summary-grid > article:nth-child(3) h3 {
    color: #080808 !important;
    -webkit-text-fill-color: #080808 !important;
    font-size: .98rem !important;
  }

  body main .access-section .access-summary-grid > article:nth-child(1) a,
  body main .access-section .access-summary-grid > article:nth-child(3) a {
    color: #080808 !important;
    -webkit-text-fill-color: #080808 !important;
    font-size: .82rem !important;
  }

  body main .feature-message .feature-learning-pillars .pillar-mobile-break {
    display: block !important;
  }

  .faq-section .faq-mobile-break {
    display: block !important;
  }

  .site-footer .footer-business-name {
    font-size: .64rem !important;
  }

  .site-footer .footer-business-info strong {
    position: relative !important;
    top: 0 !important;
  }

  .site-footer .footer-business-name {
    position: relative !important;
    top: -3px !important;
    margin: 0 !important;
  }

  .site-footer .footer-business-location {
    position: relative !important;
    top: 3px !important;
    margin: 0 !important;
  }

  .site-footer .footer-brand-block img {
    position: relative !important;
    top: 3px !important;
    width: 104px !important;
  }

  .site-footer .footer-brand-block p {
    display: none !important;
  }

  body main .feature-message .feature-learning-pillars h2 {
    position: relative !important;
    width: fit-content !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 25px !important;
    padding-left: 25px !important;
    font-size: .86rem !important;
    white-space: nowrap !important;
  }

  body main .feature-message .feature-learning-pillars h2::before,
  body main .feature-message .feature-learning-pillars h2::after {
    position: absolute !important;
    top: 50% !important;
    width: 20px !important;
    height: 2px !important;
    background: #2079d8 !important;
    border-radius: 999px !important;
    content: "" !important;
  }

  body main .feature-message .feature-learning-pillars h2::before {
    left: 0 !important;
    transform: rotate(58deg) !important;
  }

  body main .feature-message .feature-learning-pillars h2::after {
    right: 0 !important;
    transform: rotate(-58deg) !important;
  }
}
}

/* Match the approved desktop treatment for “30秒”: black text and yellow underline. */
@media (max-width: 720px) {
  html[lang="ja"] body main .video-heading > span {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    background: linear-gradient(transparent 76%, #ffd95a 76%, #ffd95a 94%, transparent 94%) !important;
    padding: 0 1px !important;
  }
}

/* Japanese mobile: align the top two learning circles on the same reading axis. */
@media (max-width: 720px) {
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain,
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global {
    grid-template-rows: 2.35rem 2.55rem !important;
    align-content: center !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain strong,
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global strong {
    display: flex !important;
    height: 2.35rem !important;
    align-items: flex-end !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain span,
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global span {
    align-self: start !important;
    min-height: 2.2rem !important;
    margin-top: 10px !important;
  }

  html[lang="ja"] body .site-footer .footer-brand-block img {
    width: 148px !important;
  }

}

/* Final reference alignment for the Japanese mobile three-circle graphic. */
@media (max-width: 720px) {
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar-circles {
    width: min(100%, 330px) !important;
    max-width: 330px !important;
    height: 254px !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar {
    box-sizing: border-box !important;
    width: 138px !important;
    height: 138px !important;
    min-height: 0 !important;
    padding: 14px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain {
    top: 0 !important;
    left: 35px !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global {
    top: 0 !important;
    right: 26px !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.heart {
    top: 116px !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain,
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global {
    display: grid !important;
    grid-template-rows: 30px 38px 48px !important;
    align-content: center !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain::before,
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global::before {
    align-self: end !important;
    margin: 0 !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain strong,
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global strong {
    align-self: end !important;
    margin: 0 !important;
  }

  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.brain span,
  html[lang="ja"] body main .feature-learning-pillars .hero-pillar.global span {
    align-self: start !important;
    min-height: 0 !important;
    margin-top: 8px !important;
  }
}
