.nav-formats-short{display:none}
.language-switch{flex-shrink:0}
.language-menu{position:relative}
.language-menu summary{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--bg);font-size:11px;font-weight:650;line-height:1.2;cursor:pointer;list-style:none}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu summary>.ui-icon{width:12px;height:12px;color:var(--muted);transition:transform .15s ease}
.language-menu[open] summary>.ui-icon{transform:rotate(180deg)}
.language-menu summary:hover,.language-menu[open] summary{border-color:var(--accent);color:var(--accent)}
.language-flag{display:block;flex-shrink:0;width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #00000018}
.language-options{position:absolute;z-index:60;top:calc(100% + 9px);right:0;min-width:236px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 30px #00000018}
.language-options a{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 10px;border-radius:7px;font-size:13px;color:var(--text);white-space:nowrap}
.language-options a>small{margin-left:auto;color:var(--muted);font-size:10px;font-weight:600}
.language-options a:hover,.language-options a[aria-current=true]{background:var(--soft);color:var(--accent)}
.language-menu summary:focus-visible,.language-options a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.header-search{min-width:140px;flex-shrink:1}
@media(min-width:651px) and (max-width:1050px){.header-row{gap:12px}.main-nav{gap:12px;margin-left:4px}.header-search{width:210px}}
@media(max-width:650px){.header-row{gap:9px}.language-switch{margin-left:auto}.language-menu summary{min-height:34px;padding:7px;gap:5px}.header-search{min-width:0}.header-row>.icon-button{margin-left:0}html:not([lang=ru]) .brand-word>small{letter-spacing:.5px}}
@media(max-width:380px){.header-row{gap:7px}.main-nav{gap:8px;margin-left:auto}.language-switch{margin-left:0}.language-menu summary{gap:4px;padding:7px 5px}.language-menu summary>.ui-icon{width:10px;height:10px}}

@media(max-width:650px){.nav-formats-label{display:none}.nav-formats-short{display:inline}}

/* Japanese headings use natural spacing and line breaks. */
html[lang=ja] body{line-break:strict;word-break:normal;overflow-wrap:break-word}
html[lang=ja] .hero h1{font-size:clamp(30px,3.8vw,46px);letter-spacing:-.02em;line-height:1.5}
html[lang=ja] .eyebrow,html[lang=ja] .brand-word>small{letter-spacing:.06em}
html[lang=ja] .format-hero h1,html[lang=ja] .detail-heading h1,html[lang=ja] .generator-heading h1{letter-spacing:0;line-height:1.45}
html[lang=ja] .hero-lead,html[lang=ja] .about-grid p,html[lang=ja] .generator-mode-note{line-height:1.9}
html[lang=ja] .hero-copy,html[lang=ja] .format-hero>div{min-width:0}

/* Shared tools navigation and homepage link. */
.main-nav .nav-speedtest{display:inline-flex;align-items:center;gap:5px;color:var(--accent);white-space:nowrap}.nav-speedtest>.ui-icon{width:16px;height:16px}.format-menu-panel .menu-speedtest{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--accent);font-weight:600}.footer-row nav{flex-wrap:wrap}.speed-home-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--hero);padding:22px 24px;border:1px solid var(--line);border-radius:13px;margin:25px 0}.speed-home-cta>div{display:flex;align-items:center;gap:16px}.speed-home-cta>div>.ui-icon{width:30px;height:30px;color:var(--accent);flex-shrink:0}.speed-home-cta h2{font-size:17px;margin-bottom:4px}.speed-home-cta p{font-size:12px;color:var(--muted)}.speed-home-cta .button{flex-shrink:0}
@media(max-width:1250px){.main-nav>.nav-catalog{display:none}.header-row .main-nav{margin-left:0;gap:15px}.header-row{gap:18px}}
@media(max-width:1000px){.main-nav .nav-speedtest span,.main-nav .nav-generator span{display:none}.main-nav .nav-speedtest,.main-nav .nav-generator{min-width:30px;min-height:34px;justify-content:center}.main-nav .nav-formats-label{display:none}.main-nav .nav-formats-short{display:inline}}
@media(max-width:650px){.header-row .main-nav{gap:8px}.header-row{gap:8px}.speed-home-cta{align-items:flex-start;flex-direction:column;padding:18px;gap:16px}.speed-home-cta h2{font-size:15px}.speed-home-cta p{font-size:11px}.speed-home-cta .button{font-size:11px}}
@media(max-width:420px){.main-nav>.nav-generator{display:none}.header-row .main-nav{gap:5px}.main-nav .nav-speedtest{min-width:24px}}
@media(max-width:380px){.main-nav>.nav-speedtest{display:none}}

/* Simplified Chinese text uses natural character spacing. */
html[lang=zh-CN] body{line-break:strict;word-break:normal;overflow-wrap:break-word}
html[lang=zh-CN] .hero h1{font-size:clamp(30px,3.8vw,46px);letter-spacing:0;line-height:1.5}
html[lang=zh-CN] .eyebrow,html[lang=zh-CN] .brand-word>small{letter-spacing:.06em}
html[lang=zh-CN] .format-hero h1,html[lang=zh-CN] .detail-heading h1,html[lang=zh-CN] .generator-heading h1,html[lang=zh-CN] .speed-heading h1{letter-spacing:0;line-height:1.5}
html[lang=zh-CN] .hero-lead,html[lang=zh-CN] .about-grid p,html[lang=zh-CN] .generator-mode-note{line-height:1.9}
html[lang=zh-CN] .hero-copy,html[lang=zh-CN] .format-hero>div{min-width:0}

/* French text keeps comfortable line breaks in the compact layout. */
html[lang=fr] .hero h1{font-size:clamp(32px,4vw,48px);line-height:1.2;letter-spacing:-1.4px}
html[lang=fr] .hero-copy,html[lang=fr] .format-hero>div,html[lang=fr] .generator-cta>div{min-width:0}
html[lang=fr] .hero .eyebrow{letter-spacing:.8px}
html[lang=fr] .showcase-title>span{font-size:17px}
html[lang=fr] .size-band h2{white-space:normal}
html[lang=fr] .generator-cta .button{max-width:100%;white-space:normal;text-align:center}
@media(max-width:650px){html[lang=fr] .size-row .row-details{display:none}html[lang=fr] .size-row .button{margin-left:auto}html[lang=fr] .format-card-bottom{flex-wrap:wrap}html[lang=fr] .format-hero h1{font-size:24px}html[lang=fr] .hero .eyebrow{font-size:9px}}

/* German compounds can wrap without widening compact cards. */
html[lang=de] .hero h1{font-size:clamp(30px,3.7vw,46px);line-height:1.2;letter-spacing:-1.2px}
html[lang=de] .hero-copy,html[lang=de] .format-hero>div,html[lang=de] .generator-cta>div{min-width:0}
html[lang=de] .hero .eyebrow{letter-spacing:.7px}
html[lang=de] .about-grid,html[lang=de] .generator-heading,html[lang=de] .speed-heading{hyphens:auto;overflow-wrap:break-word}
html[lang=de] .size-band h2{white-space:normal}
html[lang=de] .generator-cta .button{max-width:100%;white-space:normal;text-align:center}
html[lang=de] .showcase-title>span{font-size:18px}
@media(max-width:650px){html[lang=de] .size-row .row-details{display:none}html[lang=de] .size-row .button{margin-left:auto}html[lang=de] .format-card-bottom{flex-wrap:wrap}html[lang=de] .format-hero h1{font-size:24px}html[lang=de] .hero .eyebrow{font-size:9px}}
