/* i18n: switcher, pending state, per-script typography, RTL tweaks */
html.i18n-pending body{opacity:0}
body{transition:opacity .15s}
.hc-lang{appearance:none;-webkit-appearance:none;font:600 14px/1.2 Inter,system-ui,sans-serif;color:#111512;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235d655f' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid #e6e8e4;border-radius:12px;padding:9px 28px 9px 12px;max-width:150px;cursor:pointer;text-overflow:ellipsis}
html[dir=rtl] .hc-lang{background-position:left 10px center;padding:9px 12px 9px 28px}
.hc-lang:focus-visible{outline:2px solid #16a34a;outline-offset:2px}
@media(max-width:560px){.hc-lang{max-width:104px;padding:8px 24px 8px 9px;font-size:13px}html[dir=rtl] .hc-lang{padding:8px 9px 8px 24px}}

/* long strings */
h1,h2,h3,summary,.btn,.card p,.sh p{overflow-wrap:break-word}
html[lang=de] h1,html[lang=ru] h1{font-size:clamp(34px,6.2vw,68px)}
html[lang=de] h2,html[lang=ru] h2,html[lang=de] .sh h2,html[lang=ru] .sh h2{hyphens:auto;-webkit-hyphens:auto}
html[lang=de] .card p,html[lang=de] .sh p,html[lang=de] details p{hyphens:auto;-webkit-hyphens:auto}

/* per-script font stacks (font files load only for the active script) */
html[lang=ko] body,html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3,html[lang=ko] .toggle button,html[lang=ko] .price small,html[lang=ko] .hc-lang,html[lang=ko] .ring b,html[lang=ko] .stat b{font-family:"Noto Sans KR",Inter,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}
html[lang=ja] body,html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=ja] .toggle button,html[lang=ja] .price small,html[lang=ja] .hc-lang{font-family:"Noto Sans JP",Inter,"Hiragino Sans","Yu Gothic",system-ui,sans-serif}
html[lang=zh-CN] body,html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-CN] h3,html[lang=zh-CN] .toggle button,html[lang=zh-CN] .price small,html[lang=zh-CN] .hc-lang{font-family:"Noto Sans SC",Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
html[lang=zh-TW] body,html[lang=zh-TW] h1,html[lang=zh-TW] h2,html[lang=zh-TW] h3,html[lang=zh-TW] .toggle button,html[lang=zh-TW] .price small,html[lang=zh-TW] .hc-lang{font-family:"Noto Sans TC",Inter,"PingFang TC","Microsoft JhengHei",system-ui,sans-serif}
html[lang=ar] body,html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] .toggle button,html[lang=ar] .price small,html[lang=ar] .hc-lang{font-family:"Noto Sans Arabic",Inter,"Geeza Pro",Tahoma,system-ui,sans-serif}
html[lang=th] body,html[lang=th] h1,html[lang=th] h2,html[lang=th] h3,html[lang=th] .toggle button,html[lang=th] .price small,html[lang=th] .hc-lang{font-family:"Noto Sans Thai",Inter,"Thonburi",Tahoma,system-ui,sans-serif}
html[lang=hi] body,html[lang=hi] h1,html[lang=hi] h2,html[lang=hi] h3,html[lang=hi] .toggle button,html[lang=hi] .price small,html[lang=hi] .hc-lang{font-family:"Noto Sans Devanagari",Inter,"Kohinoor Devanagari",Mangal,system-ui,sans-serif}

/* scripts where tracking breaks joining / needs more leading */
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] .eyebrow,html[lang=ar] .who,html[lang=ar] .strip p,html[lang=ar] .stat span,html[lang=ar] .stat b,
html[lang=hi] h1,html[lang=hi] h2,html[lang=hi] h3,html[lang=hi] .eyebrow,html[lang=hi] .who,html[lang=hi] .strip p,html[lang=hi] .stat span,
html[lang=th] h1,html[lang=th] h2,html[lang=th] h3,html[lang=th] .eyebrow,html[lang=th] .who,html[lang=th] .strip p,html[lang=th] .stat span,
html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3,html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-CN] h3,html[lang=zh-TW] h1,html[lang=zh-TW] h2,html[lang=zh-TW] h3{letter-spacing:0}
html[lang=ar] .eyebrow,html[lang=ar] .who,html[lang=ar] .strip p,html[lang=ar] .stat span,html[lang=hi] .eyebrow,html[lang=hi] .who,html[lang=hi] .strip p,html[lang=hi] .stat span,html[lang=th] .eyebrow,html[lang=th] .who,html[lang=th] .strip p,html[lang=th] .stat span{text-transform:none}
html[lang=ar] .hero h1,html[lang=hi] .hero h1,html[lang=th] .hero h1,html[lang=ko] .hero h1,html[lang=ja] .hero h1,html[lang=zh-CN] .hero h1,html[lang=zh-TW] .hero h1{line-height:1.2;font-size:clamp(34px,6.4vw,70px)}
html[lang=ar] .sh h2,html[lang=hi] .sh h2,html[lang=th] .sh h2,html[lang=ko] .sh h2,html[lang=ja] .sh h2,html[lang=zh-CN] .sh h2,html[lang=zh-TW] .sh h2,html[lang=ar] .final h2,html[lang=hi] .final h2,html[lang=th] .final h2{line-height:1.25}
html[lang=ar] body,html[lang=hi] body,html[lang=th] body{line-height:1.75}
html[lang=ko] h1,html[lang=ko] h2,html[lang=ja] h1,html[lang=ja] h2,html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-TW] h1,html[lang=zh-TW] h2{word-break:keep-all;line-break:strict}
html[lang=ja] h1,html[lang=ja] h2,html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-TW] h1,html[lang=zh-TW] h2{word-break:normal;overflow-wrap:anywhere}

/* RTL */
html[dir=rtl] .marq{direction:ltr}
html[dir=rtl] .marq span{direction:rtl}
html[dir=rtl] .check div:before{margin:0}
html[dir=rtl] .mono,html[dir=rtl] .chip,html[dir=rtl] .card .n,html[dir=rtl] .lens span{direction:ltr;unicode-bidi:isolate}
html[dir=rtl] .ml{direction:ltr}

/* nav on narrow screens with long labels */
nav .w>.btn{min-width:0;line-height:1.2;text-align:center}
nav .w>.logo{flex:none}
@media(max-width:560px){nav .w>.btn{padding:8px 11px;font-size:13px}}
