/* Adopted mobile story, with the wide desktop presentation requested by the user. */
.hero-description strong { display:inline-block; }
@media (min-width:768px) {
  .story { width:min(100%,680px); }
  .mobile-cta { width:min(100%,680px); }
  .section { padding:68px 40px; }
  .body-copy,.reason .body-copy { font-size:16px; line-height:1.95; }
  h2 { font-size:34px; }
  .hero { padding:28px 28px 36px; }
  .hero-panel { padding-top:26px; }
  .hero-art { max-width:440px; margin:12px auto -1px; }
  .hero-audience { font-size:13px; }
  .hero h1 { font-size:40px; }
  .hero h1 .hero-small { font-size:32px; }
  .hero h1 .hero-highlight { font-size:55px; }
  .hero-label strong { font-size:26px; }
  .hero-description { font-size:16px; line-height:1.9; }
  .hero-system { margin-inline:20px; }
  .system-top>span { font-size:12px; }
  .system-top b { font-size:26px; }
  .hero-system>p { font-size:15px; }
  .hero-system strong { font-size:18px; }
  .audience { font-size:12px; }
  .audience li { padding:4px 9px; }
  .eyebrow { font-size:13px; }
  .caption,.advisor .caption { font-size:11px; line-height:1.9; }
  .big-statement { font-size:23px; }
  .big-statement strong { font-size:34px; }
  .work-flow b { font-size:14px; }
  .work-flow strong { font-size:26px; }
  .work-flow span { font-size:11px; }
  .pain-list li { font-size:16px; }
  .pain-list strong { font-size:21px; }
  .reason-heading { padding:58px 40px 28px; }
  .reason-heading h2 { font-size:28px; }
  .reason { padding-top:44px; padding-bottom:60px; }
  .reason h3 { font-size:32px; }
  .reason-number>span:last-child { font-size:15px; }
  .before { font-size:18px; min-width:80%; }
  .before:before { font-size:12px; }
  .takeaway { padding:22px; }
  .takeaway>span { font-size:12px; }
  .takeaway strong { font-size:22px; }
  .scene-caption { font-size:13px; }
  .scene-caption>span { font-size:10px; }
  .scene-content { padding:26px 24px 20px; gap:20px; }
  .talk-bubble { font-size:19px; }
  .sales-sheet p { font-size:12px; }
  .sales-sheet>span { font-size:12px; }
  .scene-bottom { font-size:16px; }
  .training-proof { padding:22px; }
  .training-proof figcaption b { font-size:12px; }
  .training-proof figcaption span { font-size:18px; }
  .tool-box { padding:24px 22px; }
  .mini-heading { font-size:17px; }
  .tool-shots { gap:18px; }
  .tool-shots figcaption { font-size:12px; }
  .ai-flow { padding:24px 22px 0; }
  .ai-flow li { font-size:15px; }
  .ai-flow li span { font-size:12px; }
  .partner-board>p { font-size:15px; }
  .partner-board>p b { font-size:20px; }
  .partner-board li { font-size:14px; grid-template-columns:56px 1fr; }
  .online-label { font-size:13px; }
  .mid-cta h2 { font-size:32px; }
  .mid-cta>p { font-size:14px; }
  .video-list strong { font-size:21px; }
  .video-list small { font-size:12px; }
  .advisor-name>small { font-size:12px; }
  .metrics p { font-size:12px; }
  .metrics strong { font-size:76px; }
  .scope-grid li { font-size:15px; }
  .scope-note h3 { font-size:18px; }
  .scope-note p { font-size:14px; line-height:1.95; }
  .timeline h3 { font-size:25px; }
  .timeline p { font-size:16px; }
  .phase { font-size:15px; }
  .faq-list summary { font-size:16px; padding-block:22px; }
  .faq-list details>div { font-size:15px; line-height:1.95; }
  .contact h2 { font-size:34px; }
  .fit>p { font-size:15px; }
  .fit>div>span { font-size:13px; }
  .fit>small { font-size:11px; }
  .booking-steps b { font-size:16px; }
  .booking-steps p { font-size:13px; }
}

@media (min-width:768px) and (max-width:1023px) {
  .page-shell { display:block; padding:0 24px; }
  .story { width:100%; max-width:760px; }
  .section { padding-inline:54px; }
  .hero { padding:30px 54px 38px; }
  .hero-panel { max-width:540px; margin-inline:auto; }
  .hero-description,.hero-system,.hero>.cta,.hero>.audience { max-width:540px; margin-inline:auto; }
  .hero>.cta { margin-top:24px; }
  .mobile-cta { width:min(100%,760px); }
}

@media (min-width:1024px) {
  html { scroll-padding-top:28px; }
  .page-shell { display:block; max-width:1464px; padding:0 24px; margin-inline:auto; }
  .story { width:100%; max-width:1160px; min-width:0; margin-inline:auto; border-inline:2px solid var(--ink); }
  .rail-brand,.rail-index { display:none; }
  .mobile-cta { display:none; }
  .mobile-header { display:flex; margin:22px 32px 0; padding:14px 22px; border-radius:13px; }
  .mobile-header .brand { gap:12px; }
  .mobile-header .brand img { width:44px; height:42px; }
  .mobile-header .brand>span { font-size:15px; }
  .header-contact { font-size:13px; padding:9px 17px; }
  .section { padding:68px 44px; }
  .section>h2 { font-size:36px; line-height:1.55; }
  .eyebrow { font-size:14px; }
  .body-copy,.reason .body-copy { font-size:16px; line-height:1.95; }
  .caption,.advisor .caption { font-size:12px; }
  .cta { min-height:76px; font-size:17px; padding:17px 25px; }
  .cta small { font-size:11px; }
  .cta>span:first-child { flex:1; text-align:center; }

  .hero { padding:32px 36px 46px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px 32px; align-items:center; }
  .hero-audience { grid-column:1/-1; font-size:15px; margin:0 0 5px; }
  .hero-panel { grid-column:1; grid-row:2/6; align-self:stretch; padding:28px 22px 0; display:flex; flex-direction:column; justify-content:space-between; border-radius:25px; }
  .hero h1 { font-size:41px; line-height:1.38; }
  .hero h1 .hero-small { font-size:32px; }
  .hero h1 .hero-highlight { font-size:54px; line-height:1.3; }
  .hero-art { width:100%; max-width:390px; margin:20px auto 0; }
  .hero-label { margin:0 -22px; padding:16px 10px 19px; }
  .hero-label>span { font-size:11px; }
  .hero-label strong { font-size:24px; }
  .hero-description { grid-column:2; grid-row:2; font-size:18px; line-height:2; margin:0; text-align:left; }
  .hero-description strong { display:inline; }
  .hero-system { grid-column:2; grid-row:3; margin:0; padding:0; }
  .system-top { gap:4px; grid-template-columns:1fr 13px 1fr 13px 1fr; }
  .system-top>span { font-size:11px; padding:15px 3px 13px; }
  .system-top b { font-size:25px; }
  .hero-system>p { font-size:15px; margin-top:19px; }
  .hero-system strong { font-size:18px; }
  .hero>.cta { grid-column:2; grid-row:4; margin:0; }
  .hero>.audience { grid-column:2; grid-row:5; margin:0; align-self:start; font-size:11px; gap:8px; }
  .section-ribbon { font-size:18px; gap:40px; padding-block:15px; }

  .intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:38px; align-items:center; }
  .intro>.eyebrow,.intro>h2 { grid-column:1/-1; }
  .intro>.big-statement { grid-column:1; grid-row:3/5; margin:30px 0 0; font-size:23px; }
  .intro .big-statement strong { font-size:32px; }
  .intro>.body-copy { grid-column:2; grid-row:3; margin-top:30px; }
  .intro>.work-flow { grid-column:2; grid-row:4; margin-top:22px; }
  .work-flow strong { font-size:23px; }
  .work-flow span { font-size:11px; }
  .problem .pain-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; margin:36px 0; }
  .pain-list li { font-size:14px; padding:22px 15px 22px 38px; line-height:1.9; }
  .pain-list strong { font-size:20px; }
  .pain-list li:before { left:13px; top:23px; }
  .answer-intro { font-size:14px; margin-top:25px; }
  .answer { font-size:28px; }
  .down-arrow { margin-top:15px; }

  .reason-heading { padding:58px 44px 20px; }
  .reason-heading h2 { max-width:620px; margin:auto; font-size:31px; }
  .reason { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px 38px; padding-top:46px; padding-bottom:52px; align-items:start; }
  .reason-number { grid-column:1/-1; margin:0 0 10px; }
  .reason-number b { font-size:76px; }
  .reason-number>span:last-child { font-size:15px; }
  .reason-copy { min-width:0; align-self:center; }
  .before { width:100%; min-width:0; font-size:16px; padding:19px 10px; }
  .reason h3 { font-size:30px; line-height:1.55; }
  .reason .body-copy { margin-top:24px; }
  .reason>.scene,.reason>.partner-board { grid-column:2; align-self:center; margin-top:0; }
  .scene-caption { font-size:13px; padding-block:12px; }
  .scene-content { padding:32px 22px 25px; }
  .scene-bottom { padding-bottom:25px; }
  .training-proof { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:18px; align-items:start; margin:0; padding:22px; }
  .training-proof figcaption { grid-column:1/-1; }
  .training-case-crop { margin-top:0; }
  .training-caption { grid-column:1/-1; margin-top:-20px; }
  .takeaway { grid-column:1/-1; width:100%; max-width:790px; margin:0 auto; padding:20px 24px; }
  .takeaway strong { font-size:22px; }
  .takeaway strong br { display:none; }
  #tools>.reason-copy { grid-column:1/-1; max-width:700px; margin-inline:auto; }
  #tools>.reason-copy .before { max-width:500px; }
  #tools>.reason-copy h3 { font-size:32px; }
  #tools>.reason-copy .body-copy { text-align:center; }
  #tools>.ai-flow { grid-column:1/-1; width:100%; max-width:none; margin:0 auto; padding:24px 22px 0; }
  #tools>.ai-flow ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
  #tools>.ai-flow li:not(:last-child):after { content:"→"; left:auto; right:-22px; top:50%; bottom:auto; transform:translateY(-50%); }
  .ai-flow ol { gap:24px; }
  .ai-flow li { font-size:16px; padding:20px 12px; }
  .ai-flow li:not(:last-child):after { bottom:-25px; }
  .tool-shots figcaption { font-size:12px; }
  .partner-board li { font-size:14px; padding-top:17px; }
  .partner-row>span:not(.partner-link) { font-size:20px; min-height:96px; }

  /* Two stages stay in reading order; keep the inline preview compact. */
  #tools .tool-journey { grid-column:1/-1; margin-top:0; }
  #tools .hearing-feature { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:14px 28px; padding:26px 24px; margin:0; }
  .hearing-intro { grid-column:1; grid-row:1; align-self:start; }
  #tools .hearing-feature h4 { font-size:23px; line-height:1.6; }
  #tools .hearing-copy { font-size:14px; line-height:1.95; }
  #tools .hearing-benefits { grid-column:1; grid-row:2; margin-top:0; gap:16px; }
  #tools .hearing-benefits b { font-size:15px; }
  #tools .hearing-benefits span { font-size:12px; }
  #tools .hearing-demo-home { grid-column:2; grid-row:1/4; width:100%; margin:0; min-width:0; align-self:center; }
  #tools .hearing-demo-note { grid-column:1; grid-row:3; font-size:11px; margin-top:0; }
  #tools .hd-screen { padding-inline:13px; }
  #tools .hd-steps button { font-size:12px; }
  #tools .hd-scroll-hint { display:none; }

  .mid-cta { padding-block:50px; }
  .mid-cta h2 { font-size:34px; }
  .mid-cta>.cta { max-width:480px; margin:26px auto 0; }
  .mid-cta>p { font-size:15px; }
  .evidence>.body-copy { text-align:center; max-width:720px; margin:24px auto 0; }
  .video-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .video-list figure { min-width:0; }
  .video-list figcaption { padding:16px 14px; }
  .video-list strong { font-size:19px; }
  .video-list small { font-size:11px; }
  .evidence>.caption { text-align:center; margin-top:20px; }
  .advisor { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px 36px; align-items:center; }
  .advisor>.eyebrow,.advisor>h2 { grid-column:1/-1; }
  .advisor-name { grid-column:1; margin:0; padding:26px; }
  .advisor-name>strong { font-size:30px; }
  .advisor-name>small { font-size:12px; }
  .metrics { grid-column:2; margin:0; gap:18px; }
  .metrics strong { font-size:65px; }
  .metrics p { font-size:12px; }
  .advisor>.caption { grid-column:1/-1; max-width:820px; margin:0 auto; }
  .scope-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-top:34px; }
  .scope-grid li { font-size:14px; padding:18px 8px 18px 28px; }
  .scope-grid li:before { left:12px; }
  .scope-note { max-width:850px; margin:30px auto 0; padding:25px 28px; }
  .scope-note h3 { font-size:20px; }
  .scope-note p { font-size:14px; }
  .roadmap>.body-copy { text-align:center; max-width:760px; margin:24px auto 0; }
  .timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:34px; }
  .timeline li,.timeline li:last-child { border:2px solid var(--ink); border-radius:13px; background:#fff; padding:25px 22px; margin:0; min-width:0; box-shadow:4px 4px 0 #ddc8ad; }
  .timeline li:before { display:none; }
  .timeline li:not(:last-child):after { content:'→'; position:absolute; top:46%; right:-24px; z-index:1; color:var(--ink); font-size:24px; line-height:1; }
  .timeline h3 { font-size:23px; }
  .timeline p { font-size:15px; }
  .phase { font-size:17px; }
  .roadmap>.caption { margin-top:24px; text-align:center; }
  .faq-list { max-width:800px; margin:30px auto 0; }
  .faq-list summary { font-size:16px; padding:22px 40px 22px 46px; }
  .faq-list summary>span { left:17px; top:20px; }
  .faq-list summary:after { right:17px; top:20px; }
  .faq-list details>div { font-size:15px; padding:0 28px 24px 46px; }
  .contact>.body-copy { max-width:720px; margin:25px auto 0; text-align:center; }
  .fit { max-width:640px; margin:28px auto; padding:25px; }
  .contact>.cta { max-width:480px; margin:auto; }
  .booking-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:40px; }
  .booking-steps li { gap:11px; }
  .booking-steps b { font-size:15px; }
  .booking-steps p { font-size:13px; }
  .footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:35px 44px; }
  .footer>p { margin:0; }
}

@media (min-width:1280px) {
  .page-shell { display:grid; grid-template-columns:minmax(0,1160px) 190px; gap:26px; align-items:start; justify-content:center; }
  .story { margin:0; width:100%; }
  .rail-index { display:flex; position:sticky; top:24px; min-height:0; height:auto; max-height:calc(100svh - 48px); overflow-y:auto; justify-content:flex-start; padding:20px 5px; min-width:0; }
  .rail-index .index-label { font-size:24px; margin-bottom:18px; }
  .rail-index nav { gap:9px; }
  .rail-index nav a { font-size:13px; gap:9px; line-height:1.8; padding:4px 0; }
  .rail-consult { font-size:14px; margin-top:22px; padding:15px 0; }
  .rail-small { font-size:11px; line-height:1.9; margin-top:18px; }
}

@media (min-width:1024px) and (max-width:1359px) {
  .section { padding-inline:36px; }
  .hero { padding-inline:30px; column-gap:25px; }
  .hero h1 { font-size:36px; }
  .hero h1 .hero-small { font-size:29px; }
  .hero h1 .hero-highlight { font-size:47px; }
  .hero-description { font-size:16px; }
  .hero-label strong { font-size:22px; }
  .hero>.cta { font-size:15px; padding-inline:15px; }
  .reason { column-gap:28px; }
  .reason h3 { font-size:27px; }
  .pain-list li { font-size:13px; padding-left:33px; }
  .pain-list strong { font-size:18px; }
  .pain-list li:before { left:11px; }
  .metrics strong { font-size:56px; }
  .scope-grid li { font-size:13px; padding-left:25px; }
  .scope-grid li:before { left:9px; }
  .video-list strong { font-size:17px; }
  .timeline { gap:18px; }
  .timeline li,.timeline li:last-child { padding:22px 18px; }
  .timeline h3 { font-size:21px; }
  .timeline li:not(:last-child):after { font-size:21px; right:-20px; }
}

/* Three payment results from one supported company. */
.advisor { display:block; }
.advisor .metrics { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:30px; }
.advisor .metrics>div { min-width:0; padding:20px 8px 6px; }
.advisor .metrics p { min-height:0; font-size:13px; line-height:1.7; }
.advisor .metrics strong { display:block; font-size:clamp(52px,5vw,72px); line-height:1.25; white-space:nowrap; margin-top:10px; }
.advisor .metrics small { font-size:18px; margin-left:5px; }
.advisor-results>.caption { max-width:820px; margin:26px auto 0; }
.advisor-profile { display:grid; max-width:680px; margin:30px auto 0; border:2px solid #fff; border-radius:12px; overflow:hidden; background:#fff; }
.advisor-profile>img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; object-position:54% 35%; }
.advisor .advisor-name { grid-column:auto; max-width:none; margin:0; padding:24px 20px; border:0; align-self:center; }
@media (min-width:600px) {
  .advisor-profile { grid-template-columns:220px minmax(0,1fr); text-align:left; }
  .advisor-profile>img { aspect-ratio:4/5; }
  .advisor .advisor-name { padding:28px; }
}
@media (min-width:768px) {
  .advisor .metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .advisor .metrics p { min-height:3.4em; }
}
.advisor-layout { margin-top:30px; }
.advisor .metrics { grid-column:auto; }
.advisor-layout .advisor-profile { margin-top:0; }
@media (min-width:1024px) {
  .advisor-layout { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:44px; align-items:center; text-align:left; }
  .advisor-layout .advisor-profile { width:100%; max-width:360px; grid-template-columns:minmax(0,1fr); margin:0; text-align:center; }
  .advisor-profile>img { height:auto; aspect-ratio:4/5; }
  .advisor .advisor-name { padding:24px 18px; }
  .advisor .advisor-name>strong { font-size:28px; }
  .advisor .advisor-name>small { font-size:11px; }
  .advisor-results { min-width:0; }
  .advisor .metrics { grid-template-columns:minmax(0,1fr); gap:22px; margin:0; }
  .advisor .metrics>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:22px 0 0; }
  .advisor .metrics p { min-height:0; font-size:15px; }
  .advisor .metrics strong { font-size:64px; margin:0; }
  .advisor .metrics small { font-size:18px; }
  .advisor-results>.caption { margin-top:28px; }
}

/* Distinguish the support before selection and through subsidy payment. */
#practice > .reason-copy { grid-column:1/-1; max-width:720px; margin-inline:auto; }
#practice > .reason-copy .body-copy { text-align:left; }
.support-phases { display:grid; gap:24px; margin-top:28px; grid-column:1/-1; min-width:0; }
.support-phase { min-width:0; border:2px solid var(--ink); border-radius:12px; background:#fff; box-shadow:4px 4px 0 #dfc5a7; overflow:hidden; }
.support-phase-label { display:flex; align-items:center; flex-wrap:wrap; gap:5px 9px; padding:13px 18px; background:var(--ink); color:#fff; font-size:19px; font-weight:900; line-height:1.5; }
.support-phase:last-child .support-phase-label { background:var(--accent); color:#fff; }
.support-phase-label b { font-size:24px; }
.support-phase-label > span { font-size:11px; font-weight:700; margin-left:auto; }
.support-phase-content { padding:23px 20px; }
.support-phase h4 { font-size:21px; line-height:1.65; font-weight:900; letter-spacing:-.035em; }
.support-phase-content > p { margin-top:15px; font-size:13px; line-height:2; }
.support-plan-flow { list-style:none; display:grid; gap:10px; margin:20px 0; padding:0; counter-reset:plan; }
.support-plan-flow li { counter-increment:plan; display:flex; align-items:center; gap:12px; border:1px solid var(--line); padding:10px 13px; border-radius:6px; background:var(--pale); font-size:13px; font-weight:700; }
.support-plan-flow li:before { content:counter(plan, decimal-leading-zero); font-family:Outfit,sans-serif; font-size:16px; font-weight:800; }
.support-phase-content > .support-phase-note { border-top:1px dashed var(--line); padding-top:15px; font-size:12px; }
.support-phase-note a,.support-track-record a { text-decoration:underline; text-underline-offset:4px; font-weight:700; }
.support-track-record { background:var(--pale); border-radius:8px; padding:17px 13px; margin-top:22px; }
.support-track-record > p { font-size:11px; font-weight:700; text-align:center; }
.support-track-record > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:14px; }
.support-track-record > div > span { display:flex; flex-direction:column; align-items:center; }
.support-track-record > div > span + span { border-left:1px solid #d9c8b5; }
.support-track-record small { font-size:9px; }
.support-track-record strong { font-family:Outfit,"Noto Sans JP",sans-serif; font-size:43px; font-weight:900; line-height:1.3; }
.support-track-record strong small { font-size:12px; font-weight:700; margin-left:2px; }
.support-track-record > .support-record-note { font-size:10px; font-weight:400; margin-top:9px; }
.support-track-record a { display:block; width:fit-content; margin:13px auto 0; font-size:12px; }
@media (min-width:768px) {
 .support-phase-label { font-size:21px; padding:15px 23px; }
 .support-phase-label > span { font-size:12px; }
 .support-phase-content { padding:26px; }
 .support-phase h4 { font-size:25px; }
 .support-phase-content > p { font-size:15px; }
 .support-plan-flow li { font-size:14px; }
 .support-track-record { padding:20px 17px; }
 .support-track-record > p { font-size:12px; }
 .support-track-record small { font-size:11px; }
 .support-track-record strong { font-size:51px; }
}
@media (min-width:1024px) {
 #practice > .reason-copy .before { max-width:580px; }
 #practice > .reason-copy .body-copy { text-align:center; }
 .support-phases { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; gap:28px; }
 .support-phase h4 { font-size:23px; }
}
@media (max-width:360px) {
 .support-phase-label { padding-inline:14px; }
 .support-phase-label > span { font-size:10px; }
 .support-phase-content { padding:19px 15px; }
 .support-phase h4 { font-size:19px; }
 .support-track-record { padding-inline:8px; }
 .support-track-record strong { font-size:36px; }
 .support-track-record small { font-size:8px; }
 .support-track-record strong small { font-size:11px; }
}

#practice .takeaway strong span { display:inline-block; }

/* Highlight the established payment metric; center each case-study result. */
.support-track-record > .support-payment-rate {
  grid-template-columns:minmax(0,1fr); gap:4px; padding:13px 10px;
  background:var(--accent); color:#fff; border-radius:7px; text-align:center;
}
.support-payment-rate > span { font-size:12px; font-weight:700; }
.advisor .metrics > div { display:block; text-align:center; }
.advisor .metrics p,.advisor .metrics strong { text-align:center; }
.advisor .metrics strong { margin-top:10px; }
