/* Shared mobile editorial rhythm. Store files map each existing page to this scale. */
@media(max-width:760px){
 body[data-store]{
  --mobile-gutter:22px;
  --mobile-body:1rem;
  --mobile-copy:.9375rem;
  --mobile-note:.8125rem;
  --mobile-label:.75rem;
  --mobile-heading:clamp(1.375rem,1.1rem + 1.2vw,1.625rem);
 }
 body[data-store] :is(.store-reasons__header,.store-media__heading,.store-space__heading,.guide-nav__intro h2){text-align:center}
 body[data-store] :is(.store-reasons h2,.store-space h2){font-size:var(--mobile-heading);line-height:1.65;letter-spacing:.04em}
 body[data-store] :is(.store-reasons__card h3,.store-supplement__card h3){font-size:1.1875rem;line-height:1.65}
 body[data-store] :is(.store-reasons__card>p,.store-supplement__card>p,.guide-nav__lead){font-size:var(--mobile-copy);line-height:1.95;letter-spacing:.02em;text-align:justify;text-align-last:left;text-justify:inter-character;text-wrap:wrap;word-break:normal;line-break:strict;overflow-wrap:break-word}
 body[data-store] .store-reasons__lead{font-size:var(--mobile-copy);line-height:1.95;text-align:center;text-align-last:center;text-wrap:balance;letter-spacing:.02em}
 body[data-store] .store-reasons__lead .km-intro-phrase{display:block;max-width:100%;text-wrap:balance}
 body[data-store] .store-reasons__lead br{display:none}
 body[data-store] :is(.store-reasons,.store-supplement,.store-media,.store-blog,.store-space){padding-inline:var(--mobile-gutter)}
 body[data-store] :is(.store-reasons__eyebrow,.store-supplement__eyebrow,.store-media__eyebrow,.store-directory__eyebrow){font-size:var(--mobile-label);line-height:1.8;letter-spacing:.14em;text-align:center}
 body[data-store] .store-directory__title{text-align:center}
 body[data-store] .store-directory__name{font-size:.9375rem;line-height:1.7}
 body[data-store] .store-directory__address{font-size:var(--mobile-note);line-height:1.85;letter-spacing:.015em;margin-bottom:18px}
 body[data-store] .store-directory .store-directory__map{display:flex;width:fit-content;max-width:100%;align-self:flex-end;margin-left:auto;margin-right:0;margin-top:auto;font-size:var(--mobile-note);line-height:1.75;text-align:right}
 body[data-store] .store-media a.store-media__card{padding:12px;gap:12px;grid-template-columns:80px minmax(0,1fr)}
 body[data-store] .store-media .store-media__body{padding:0;min-width:0}
 body[data-store] .store-media__body h3{font-size:.9375rem;line-height:1.75;margin-bottom:0}
 body[data-store] .store-media__category{font-size:var(--mobile-label);line-height:1.8;letter-spacing:.06em}
 body[data-store] .store-media__heading>p:not(.store-media__eyebrow){font-size:var(--mobile-note);line-height:1.85;text-align:center;text-wrap:balance}
 body[data-store] .store-media__link{display:flex;width:fit-content;max-width:100%;margin:16px 0 0 auto;font-size:var(--mobile-note);line-height:1.75;text-align:right;gap:12px}
 body[data-store] .store-blog__copy h3{font-size:1rem;line-height:1.8}
 body[data-store] .store-blog__copy time{font-size:var(--mobile-label)}
 body[data-store] .store-blog__heading>a{margin-left:auto;font-size:var(--mobile-note);line-height:1.75;text-align:right}
 body[data-store] .guide-nav__subtitle{font-size:1.125rem;line-height:1.7}
 body[data-store] .guide-nav__text{font-size:.875rem;line-height:1.75}
 body[data-store] :is(.guide-nav__note,.guide-nav__description){font-size:var(--mobile-label);line-height:1.8}
 body[data-store] :is(.store-lineage-badge>span,.store-lineage-badge strong){font-size:.875rem;line-height:1.7}
 body[data-store] .store-lineage-badge small{font-size:var(--mobile-label);line-height:1.8}
 body[data-store] .store-lineage-badge{padding:12px;gap:10px}
 body[data-store] .profile-reception p{font-size:var(--mobile-copy)!important;line-height:1.95!important;text-align:justify!important;text-align-last:left;text-wrap:wrap;letter-spacing:.02em}
 body[data-store] :is(.profile-reception>p+a,.store-supplement__inner>p+a){display:flex;width:fit-content;max-width:100%;margin:24px 0 0 auto;gap:12px;text-align:right;font-size:var(--mobile-note);line-height:1.75}
 body[data-store] .profile-reception>a>span{flex:none}
 body[data-store] .mobile-sentence-break{display:initial}
}
/* Existing magazine-style stores: body copy, headings and action rhythm. */
@media(max-width:760px){
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.section-header,.sec-head,.umeda-intro-heading,.gm-reviews-header){text-align:center}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.sec-head,.section-header)>div{width:100%}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.sec-title,.section-title-jp,.umeda-intro-heading h2){max-width:100%;font-size:var(--mobile-heading);line-height:1.65;letter-spacing:.04em;text-align:center;text-wrap:balance}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.store-script-title,.umeda-script-title,.umeda-intro-heading .store-script-title,.umeda-intro-heading .umeda-script-title){font-size:3rem;line-height:1.15;letter-spacing:0;text-align:center;margin-bottom:10px}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.sec-kicker,.section-title-en):not(.store-script-title):not(.umeda-script-title){font-size:var(--mobile-label);line-height:1.8;letter-spacing:.14em;text-align:center}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.umeda-intro-copy>p,.concept-text>p,.interview-text>p:not(.interview-role),.umeda-ram-profile__copy>p,.teller-profile__text p,.teller-lead){font-size:var(--mobile-body);line-height:1.95;letter-spacing:.02em;text-align:justify;text-align-last:left;text-justify:inter-character;text-wrap:wrap;max-width:none;word-break:normal;line-break:strict;overflow-wrap:break-word}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.reason-desc,.divination-desc,.feature__desc,.scrap__text,.gm-review-card__text,.faq-answer p,.index-row__body p,.prologue-item p,.worry-text){font-size:var(--mobile-copy);line-height:1.95;letter-spacing:.02em;text-align:justify;text-align-last:left;text-justify:inter-character;text-wrap:wrap;max-width:none;word-break:normal;line-break:strict;overflow-wrap:break-word}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.reasons-sub,.index-intro,.worries-intro,.worries-sub,.prologue-lead,.contributors__lead,.review-lead){font-size:var(--mobile-copy);line-height:1.95;letter-spacing:.02em;text-align:center;text-align-last:center;text-wrap:balance}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.reason-title,.divination-title,.feature__title,.index-row__body h3,.prologue-item h3,.umeda-intro-copy h3){font-size:1.1875rem;line-height:1.65;letter-spacing:.03em}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.scrap__headline,.gm-review-card__headline){font-size:1.0625rem;line-height:1.8;text-wrap:balance}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.menu-note,.menu-methods,.price-note,.profile-row,.teller-table__row,.scrap__source,.voice__source,.feature__label){font-size:var(--mobile-note);line-height:1.85;letter-spacing:.015em;text-wrap:wrap}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.faq-question,.faq-q){font-size:var(--mobile-copy);line-height:1.85}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.interview-role,.teller-role,.teller-tags li,.menu-block__hours){font-size:var(--mobile-label);line-height:1.8}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.cta-text,.emotional-text,.spread__text,.kotoba__text){font-size:var(--mobile-copy);line-height:2;letter-spacing:.02em;text-align:center;text-align-last:center;text-wrap:balance}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.cta-title,.emotional-title,.spread__title,.kotoba__title){font-size:var(--mobile-heading);line-height:1.7;letter-spacing:.04em;text-align:center}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.emotional-text,.spread__text,.kotoba__text,.interview-text,.concept-text) br.sp-only{display:none}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.emotional-text,.spread__text,.kotoba__text) br.mobile-sentence-break{display:initial}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.text-link,.map-btn,.more-link>a,.gm-reviews-more>a,.price-note>a,.teller-nav__back){display:flex;width:fit-content;max-width:100%;margin-left:auto;margin-right:0;justify-content:flex-end;text-align:right;font-size:var(--mobile-note);line-height:1.75;gap:12px}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(p+.text-link,.access-info>.map-btn,.access-copy>.map-btn,.more-link,.gm-reviews-more,.teller-back){margin-top:24px}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.text-link,.map-btn)>span{flex:none}
}
@media(max-width:760px){
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.concept-text,.interview-text) br.mobile-sentence-break{display:initial}
 body[data-store] .desktop-sentence-break{display:none}
 body[data-store]:is([data-store="umeda"],[data-store="shinsaibashi"],[data-store="kyoto"]) :is(.emotional-content,.spread__inner,.kotoba__inner){max-width:100%;box-sizing:border-box}
}

@media(max-width:760px){
 body[data-store] .store-supplement .store-supplement__inner>h2{text-align:center;font-size:var(--mobile-heading);line-height:1.65;text-wrap:balance}
 body[data-store] .store-supplement .store-supplement__inner>p:not(.store-supplement__eyebrow){font-size:var(--mobile-copy);line-height:1.95;letter-spacing:.02em;text-align:justify;text-align-last:left;text-wrap:wrap}
 body[data-store] .store-reasons .store-reasons__card{padding-inline:0}
 body[data-store] .reasons-grid p.reason-desc,body[data-store] .divination-desc{text-align:justify;text-align-last:left;text-wrap:wrap}
 body[data-store] .interview-text>p.interview-role{font-size:var(--mobile-label);line-height:1.8;text-align:left;text-align-last:auto}
}

/* Intentional phrase boundaries must survive the older mobile br reset. */
@media(max-width:760px){
 body[data-store] :is(.cta-title,.store-photo-cta__title,.emotional-title,.spread__title,.kotoba__title){text-wrap:wrap;line-break:strict;word-break:normal;font-size:var(--mobile-heading);letter-spacing:.04em}
 body[data-store] :is(.cta-title,.store-photo-cta__title,.emotional-title,.spread__title,.kotoba__title) br{display:initial}
 body[data-store] :is(.sec-title,.section-title-jp,.section-title) br:not(.sp-only):not(.desktop-only){display:initial}
 body[data-store] :is(.cta-text,.emotional-text,.spread__text,.kotoba__text){text-wrap:pretty}
 body[data-store] :is(.cta-section,.store-photo-cta)>.container{width:calc(100% - 44px);max-width:none;padding-inline:0;margin-inline:auto}
}

/* FAQ reads as normal sentences, not balanced/justified display copy. */
@media(max-width:760px){
 body[data-store] .faq-list .faq-item :is(.faq-question,summary){text-align:left;text-align-last:left;text-wrap:wrap;word-break:normal;overflow-wrap:break-word;line-break:strict;letter-spacing:.02em;line-height:1.85;align-items:baseline;gap:10px}
 body[data-store] .faq-list .faq-question-text,
 body[data-store="kawaramachi"] .faq-list summary>span:first-child{flex:1 1 auto;min-width:0;text-wrap:wrap;text-align:left}
 body[data-store] .faq-list :is(.faq-q,.faq-a,.faq-toggle){flex-shrink:0}
 body[data-store] .faq-list .faq-question::after{flex-shrink:0}
 body[data-store] .faq-list .faq-item .faq-answer,
 body[data-store] .faq-list .faq-item .faq-answer p{text-align:left;text-align-last:left;text-wrap:wrap;line-break:strict;word-break:normal;letter-spacing:.02em;line-height:1.95}
 body[data-store="umeda"] .faq-list .faq-question{padding:20px 16px;font-size:var(--mobile-copy)}
 body[data-store="umeda"] .faq-list .faq-answer{padding:0 16px 20px}
}

@media(max-width:760px){
 body[data-store] .store-photo-faq .faq-list{padding:12px}
 body[data-store] .faq-list .faq-question-text{ text-wrap:pretty; }
}
