/* Japanese and Chinese use their own line-breaking rules, including punctuation. */
html:is([lang="ja"],[lang="zh"]) :is(p,h1,h2,h3,.button,.choice,.format-option){word-break:normal;overflow-wrap:break-word;line-break:strict}
html:is([lang="ja"],[lang="zh"]) :is(.eyebrow,.latin-label){letter-spacing:.03em}

/* Sentence endings become explicit lines, while each sentence wraps to its container. */
:is(p,h1,h2,h3,summary,legend,.consent>span,.choice strong,.choice small,.format-option strong,.format-option small,.interest-result,.field-note-heading .latin-label){white-space:pre-line}
html :is(h1,h2,h3,p,summary,.button,.choice,.format-option,.brand-return){overflow-wrap:break-word;word-break:normal}
html :is(h1,h2,h3){text-wrap:balance}
html :is(p,.choice small,.format-option small){text-wrap:pretty}
html[lang=ko] :is(h1,h2,h3,p,summary,.button,.choice,.format-option){word-break:keep-all}
html:is([lang=ja],[lang=zh]) :is(h1,h2,h3,p,summary,.button,.choice,.format-option){line-break:strict;word-break:normal}
html[lang=th] :is(h1,h2,h3,p,summary,.button,.choice,.format-option){word-break:normal;letter-spacing:normal;line-height:1.6}
html[lang=th] :is(.eyebrow,.latin-label){letter-spacing:normal}
html :is(.hero-copy,.section-heading>div,.heading-aside,.benefit-content,.format-detail,.steps li,.join-copy,.join-card,.modal-info>div){min-width:0}
html .steps p{align-self:end}
.steps-section>p.fineprint{white-space:normal}
/* Keep the rotated FAQ glyph inside the row without clipping long questions. */
.faq-list summary{padding-right:10px}
.faq-list summary>span{flex:0 0 24px;width:24px;height:24px;line-height:24px;text-align:center}
/* Thai hero lines follow phrases; keep the reward noun together on small screens. */
html[lang=th] .hero h1{font-size:clamp(30px,3.8vw,52px);line-height:1.4;text-wrap:initial}
@media(max-width:800px){html[lang=th] .hero h1{font-size:clamp(29px,7.6vw,46px)}}

/* Official logo and company details follow the service landing footer. */
:is(.wordmark:has(.brand-logo),.footer-wordmark){display:block;width:fit-content;background:transparent;padding:0;line-height:0}
.brand-logo{display:block;width:116px;height:auto;max-width:100%;filter:brightness(0) invert(1)}
.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px 40px;padding-top:48px;padding-bottom:64px}
.footer-wordmark{grid-column:1/-1}
.footer-wordmark .brand-logo{width:213px}
.company-info{min-width:0;font-size:12px;line-height:1.8;color:var(--muted)}
.company-label{display:block;margin-bottom:12px;letter-spacing:.1em}
.company-info>p{display:flex;flex-wrap:wrap;gap:4px 20px;white-space:normal;text-wrap:initial}
.company-info address{margin-top:8px;font-style:normal;line-height:1.8;word-break:keep-all;overflow-wrap:break-word}
.company-contact{margin-top:12px}
.company-info a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.company-info a:hover{color:white;text-decoration:underline}
.company-info .copyright{margin-top:8px}
.footer-actions{display:flex;align-items:center;gap:16px}
@media(max-width:800px){.site-footer{grid-template-columns:minmax(0,1fr);gap:24px;padding-bottom:40px}.footer-actions{justify-content:space-between}.site-header .wordmark{margin-right:auto}}
