/* Final typography layer: three families, consistent roles throughout the LP. */
:root{
 --font-body:"Noto Sans JP",sans-serif;
 --font-heading:"Shippori Mincho",serif;
 --font-display:"Cormorant",serif;
}
.lp-wrapper{font-family:var(--font-body);font-synthesis:none}
.lp-wrapper :where(p,li,small,button,a,summary){font-family:var(--font-body)}
.lp-wrapper :where(h2,h3){font-family:var(--font-heading);font-weight:600;letter-spacing:.015em}
.lp-wrapper button{font-weight:500}
.lp-wrapper :where(.voice-body p,.readable-faq details>p,.method-copy p,.strength-card>p,.canva-curriculum li p,.travel-first p,.about-body p){font-family:var(--font-body);font-weight:400;letter-spacing:0}
.lp-wrapper :where(strong,b){font-weight:700}

/* Section headings share the same cut and weight, irrespective of older CSS. */
.editorial-heading h2,.canva-curriculum h2,.voice-slider h2,.refined-plan h2,.readable-faq h2,.closing-copy h2,
.editorial-section h3,.canva-curriculum h3,.voice-readable h3,.plan-card-top h3,.common-inclusions h3,
.method-copy .method-conclusion,.strengths-closing{
 font-family:var(--font-heading);font-weight:600;letter-spacing:.015em;
}
.method-copy .method-conclusion strong{font-family:var(--font-heading);font-weight:600}
#top .hero-message h2{font-family:var(--font-heading);font-weight:600}
#top .hero-message h2 em,#top .hero-message .hero-journey{font-family:var(--font-heading);font-weight:700}
#top .hero-message p{font-family:var(--font-heading);font-weight:500}

/* Cormorant is confined to brand lettering and decorative English/numerals. */
#top .hero-brand>span,
.editorial-heading .section-eyebrow,.canva-curriculum header>p,.voice-slider>header>p,
.plan-eyebrow,.readable-faq>header>p,.faq-q,.lesson-number,.strength-number,.heading-number,
.method-questions span{font-family:var(--font-display);font-weight:500}
.hero-brand small,.voice-person,.plan-term,.plan-price,.plan-choice small,.plan-choice strong,
.plan-description,.plan-benefits,.application-caption,.plan-footnote,.plan-apply,.figma-cta{font-family:var(--font-body)}
.plan-choice strong{font-weight:500}

/* Keep the original SVG positions; fixed line spacing is not altered here. */
.three-font-art text[data-type-role="heading"]{font-family:var(--font-heading);font-weight:600}
.three-font-art text[data-type-role="body"]{font-family:var(--font-body);font-weight:400}
.three-font-art text[data-type-role="label"]{font-family:var(--font-body);font-weight:500}
.three-font-art text[data-type-role="emphasis"]{font-family:var(--font-body);font-weight:700}
.three-font-art text[data-type-role="display"]{font-family:var(--font-display);font-weight:500}
