@font-face{font-family:'MaiMom Sans';src:url('/assets/fonts/noto-sans-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap;}
@font-face{font-family:'MaiMom Sans';src:url('/assets/fonts/noto-sans-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap;}
@font-face{font-family:'MaiMom Sans';src:url('/assets/fonts/noto-sans-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap;}
@font-face{font-family:'MaiMom Serif';src:url('/assets/fonts/noto-serif-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap;}
@font-face{font-family:'MaiMom Serif';src:url('/assets/fonts/noto-serif-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap;}
@font-face{font-family:'MaiMom Serif';src:url('/assets/fonts/noto-serif-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap;}

:root{--font-body:'MaiMom Sans','Noto Sans','Segoe UI',Arial,sans-serif;--font-heading:'MaiMom Serif','Noto Serif',Georgia,serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-kerning:normal}
body{font-family:var(--font-body)!important;font-size:16px;line-height:1.75;font-weight:400;font-synthesis:style;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p,li,dd,dt,td,th,button,input,textarea,select,label,summary,caption,small,.small,.tiny,.lead,.eyebrow,.pill,.btn,.index-label,.tag,nav,footer,.author-role{font-family:var(--font-body)!important}
input,textarea,select,button{font-size:16px!important;line-height:1.5!important}
strong,b{font-family:inherit;font-weight:700}
h1,h2,h3,h4,h5,h6,.quote,.highlight,.floating strong,.serif,.pullquote{font-family:var(--font-heading)!important;font-weight:700!important;font-style:normal;line-height:1.3!important;letter-spacing:normal!important;overflow:visible;word-break:normal!important;overflow-wrap:break-word;white-space:normal!important;text-wrap:pretty}
h1 *,h2 *,h3 *,h4 *,h5 *,h6 *{font-family:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
h1 em,h2 em,h3 em{font-style:normal!important}
.result h3,.result b,.number-meaning strong,.group-heading>span,.number-square b,.peak-stop b,.compass-grid b,.price strong,.book-stage .price{font-family:var(--font-body)!important}
.eyebrow,.index-label{line-height:1.75!important;letter-spacing:1.5px!important}
.hero h1{font-size:clamp(40px,5.2vw,68px)!important;line-height:1.25!important;margin-top:22px!important;margin-bottom:24px!important}
.hero h1>span,.hero h1>em{white-space:normal!important}
.book-title-brand,.book-title,.mm-brand-text{font-family:inherit!important;white-space:normal!important;line-height:inherit!important;letter-spacing:normal!important}
.result p,.number-meaning p,.practice p{line-height:1.75!important}
.quote,.highlight{line-height:1.6!important}
.number-square b,.result>b{line-height:1.5!important}
.btn,button,a{overflow-wrap:break-word}
.btn{white-space:normal!important;text-align:center;min-height:48px;padding-top:13px!important;padding-bottom:13px!important}
.back-to-books{font-family:var(--font-body)!important;line-height:1.6!important}
@media(max-width:650px){body{font-size:16px}.hero h1{font-size:clamp(36px,10vw,48px)!important;line-height:1.3!important}.pagehead h2{font-size:34px!important}h2{font-size:clamp(28px,8vw,38px)}nav button{font-size:14px!important;white-space:nowrap}.eyebrow{font-size:11px!important;letter-spacing:1.2px!important}.book h3{font-size:24px!important}.overview-table{line-height:1.6!important}.overview-table th,.overview-table td{font-size:12px!important}.quote{font-size:23px!important}}
@media print{body{font-family:var(--font-body)!important;font-size:11pt;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-heading)!important;line-height:1.35!important}.result p,.number-meaning p{font-size:10pt!important}button{display:none!important}}

/* Explicit quote rules prevent legacy font shorthands from overriding Vietnamese fonts. */
blockquote,blockquote p,blockquote span,blockquote em,blockquote strong,q,.quote,.quote p,.quote em,.quote span,.pullquote,.pullquote p,.highlight,.quote-text,.story-visual blockquote,.story-visual blockquote .quote-text{
 font-family:var(--font-body)!important;font-style:normal!important;font-weight:400!important;font-synthesis:none!important;line-height:1.7!important;letter-spacing:normal!important;word-spacing:normal!important;text-transform:none!important;overflow:visible!important;white-space:normal!important;word-break:normal!important;
}
.story-visual blockquote .quote-text{font-size:clamp(21px,2.1vw,26px)!important;margin:0 0 16px!important;color:#61388A}
blockquote cite,.story-visual cite{font-family:var(--font-body)!important;font-style:normal!important;font-weight:400!important;font-size:13px!important;line-height:1.7!important;letter-spacing:normal!important;display:block}
@media(max-width:650px){.story-visual blockquote{margin-left:12px;margin-right:8px;padding:22px}.story-visual blockquote .quote-text{font-size:21px!important}}
