/* Reiki Traditional 3.8: stable final presentation layer. */
.hero-art.rt-hero-editorial{position:relative!important;display:block!important;min-width:0!important;width:100%!important;height:auto!important;min-height:320px!important;aspect-ratio:1320/900!important;overflow:visible!important;isolation:isolate!important}
.hero-art.rt-hero-editorial .rt-hero-illustration{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:1!important;visibility:visible!important;z-index:1!important}
.hero-art.rt-hero-editorial .rt-hero-illustration img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:none!important;mix-blend-mode:normal!important}

.rt-brand-text{display:inline-block;font-family:'Noto Serif CJK JP','Yu Mincho',serif;font-size:23px;line-height:1.05;color:#193e30;text-align:center;flex-shrink:0}
.rt-school-photo{display:block;width:100%;height:auto;object-fit:cover}
.rt-voices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.rt-voice{margin:0;display:flex;flex-direction:column;justify-content:space-between;min-height:210px}
.rt-voice blockquote p{font-size:clamp(16px,1.25vw,19px);line-height:1.65}
.rt-voice figcaption{display:flex;gap:8px;flex-wrap:wrap}
.rt-course-spotlight,.rt-training-path,.rt-faq,.rt-voices{display:block;opacity:1;visibility:visible}
@media(max-width:780px){.hero-art.rt-hero-editorial{min-height:230px!important;max-width:620px;margin-inline:auto!important}.rt-voices-grid{grid-template-columns:1fr}.rt-voice{min-height:0}}
@media(max-width:480px){.hero-art.rt-hero-editorial{min-height:180px!important}}

/* 3.9: legibility and consistent spacing */
body{font-size:clamp(16px,1.05vw,18px);line-height:1.65}
main p,main li{line-height:1.65}
main .eyebrow{font-size:12px;letter-spacing:.12em}
main .cards p,main .rt-training-path p,main .rt-course-spotlight p,main .rt-voices p,main .rt-faq p{font-size:clamp(15px,1vw,17px);line-height:1.6}
main .cards h3,main .rt-training-path h3{font-size:clamp(20px,1.6vw,25px);line-height:1.25}
main a,main button{overflow-wrap:anywhere}
.rt-faq-item summary{font-size:clamp(16px,1.15vw,19px);line-height:1.5;cursor:pointer}
.rt-faq-answer{max-width:68ch}
.rt-voices-grid{align-items:stretch}
.rt-voice{height:100%}
.rt-extra-sections .closing,.rt-extra-sections .site-footer{display:none}
@media(min-width:900px){.wrap{max-width:1160px}.hero-art.rt-hero-editorial{max-width:640px}}
@media(max-width:780px){.rt-voices-grid{grid-template-columns:1fr}main .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){main .cards{grid-template-columns:1fr}}

/* 4.0: local vector kanji, no build labels on public pages */
.hero-art.rt-hero-editorial .hero-kanji.rt-kanji-image{position:absolute!important;inset:14% 10% auto auto!important;width:clamp(52px,6vw,84px)!important;height:auto!important;max-height:54%!important;object-fit:contain!important;display:block!important;z-index:3!important;filter:none!important;opacity:.92!important}
.brand .brand-kanji.rt-brand-image{display:block;width:27px;height:55px;object-fit:contain;flex:none}
.footer-kanji{object-fit:contain}
@media(max-width:780px){.hero-art.rt-hero-editorial .hero-kanji.rt-kanji-image{width:clamp(45px,10vw,72px)!important;inset:12% 7% auto auto!important}}
@media(max-width:480px){.hero-art.rt-hero-editorial .hero-kanji.rt-kanji-image{width:clamp(40px,11vw,57px)!important}}
