/* Self-hosted fonts, shared by every page and language. */
@import url('/fonts/fonts.css');
:root {
  --site-font: 'Site Inter', 'Site Hans', 'Site Hant', 'Site Devanagari', 'Site Bengali', sans-serif;
  --font-sans: var(--site-font);
  --font-display: var(--site-font);
  font-family: var(--site-font);
  font-optical-sizing: auto;
}
html:lang(zh-Hant) { --site-font: 'Site Inter', 'Site Hant', 'Site Hans', 'Site Devanagari', 'Site Bengali', sans-serif; }
html:lang(hi) { --site-font: 'Site Inter', 'Site Devanagari', 'Site Hans', 'Site Hant', 'Site Bengali', sans-serif; }
html:lang(bn) { --site-font: 'Site Inter', 'Site Bengali', 'Site Hans', 'Site Hant', 'Site Devanagari', sans-serif; }
body { font-family:var(--site-font); font-weight:400; font-synthesis:none; }
body h1, body h2, body h3, body h4, body .brand, body .product-brand {
  font-family:var(--site-font);
  font-weight:500;
  letter-spacing:-.025em;
}
html:lang(zh) body h1, html:lang(zh) body h2, html:lang(zh) body h3, html:lang(zh) body h4 { letter-spacing:0; }
html:lang(hi) body h1, html:lang(hi) body h2, html:lang(bn) body h1, html:lang(bn) body h2 { letter-spacing:0; line-height:1.4; }
body .hero-copy h1, body .intro h1 { font-size:clamp(36px,4.3vw,56px); font-weight:500; line-height:1.3; letter-spacing:-.035em; }
html:lang(zh) body .hero-copy h1, html:lang(zh) body .intro h1 { letter-spacing:0; line-height:1.4; }
body .hero h1 { font-family:var(--site-font); font-weight:500; line-height:1.2; letter-spacing:-.035em; }
html:lang(zh) body .hero h1 { letter-spacing:0; line-height:1.35; }
body .section-intro h2, body .download-section h2 { font-weight:500; letter-spacing:-.025em; line-height:1.4; }
html:lang(zh) body .section-intro h2, html:lang(zh) body .download-section h2 { letter-spacing:0; }
body .button, body button, body select { font-family:var(--site-font); font-weight:500; }
body .button { line-height:1.4; text-align:center; white-space:normal; }
body .hero-description, body .lead { font-weight:400; line-height:1.8; }
.language-switcher { display:flex; align-items:center; gap:6px; margin:0; flex-shrink:0; }
.language-switcher > svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.4; color:var(--muted,#657068); }
.language-switcher select { width:118px; border:0; background:transparent; color:var(--ink,#202622); border-radius:5px; padding:10px 3px; font-size:12px; cursor:pointer; }
.language-switcher select:focus-visible { outline:2px solid var(--accent,#2465ce); outline-offset:3px; }
.language-switcher noscript button { background:transparent; border:1px solid var(--line,#ddd); padding:4px; }
.topbar, .product-nav, .nav-inner { flex-wrap:wrap; }
.topbar > nav, .product-nav > nav { margin-left:auto; }
.product-nav { gap:20px; }
.nav-inner > .brand { flex:1; min-width:0; }
.nav-inner .nav-right { margin-left:auto; }
html:not(:lang(zh)) .hero-copy .button, html:not(:lang(zh)) .download-section .button { padding:0 16px; gap:9px; }
.plan-price { white-space:normal; text-align:right; line-height:1.5; }
.connection-diagram { min-width:0; }
.connection-diagram > div { min-width:0; text-align:center; }
.visual-feature h3 { min-height:2.8em; }
.footer-links { flex-wrap:wrap; }
@media(max-width:1000px) {
  .topbar, .product-nav { column-gap:16px; }
  .product-nav nav, .topbar nav { gap:18px; }
  .language-switcher select { width:108px; }
}
@media(max-width:700px) {
  body .hero-copy h1, body .intro h1 { font-size:38px; }
  .topbar, .product-nav { gap:8px 16px; }
  .topbar > nav, .product-nav > nav { order:3; width:100%; margin-left:0; justify-content:flex-start; flex-wrap:wrap; }
  .language-switcher { margin-left:auto; }
  .language-switcher select { width:118px; }
  .nav-inner { row-gap:12px; }
  .nav-inner .nav-right { order:3; width:100%; justify-content:space-between; }
  .nav-inner > .brand { font-size:16px; line-height:1.5; }
  body .hero h1 { font-size:clamp(38px,10vw,58px); }
  .visual-feature h3 { min-height:0; }
  html:not(:lang(zh)) .hero-copy .actions, html:not(:lang(zh)) .download-section .actions, html:not(:lang(zh)) .showcase-copy .actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  html:not(:lang(zh)) .hero-copy .button, html:not(:lang(zh)) .download-section .button, html:not(:lang(zh)) .showcase-copy .button { min-height:52px; padding:8px 9px; font-size:12px; gap:6px; }
  .showcase-copy h4 { font-size:27px; }
  .plan-top { align-items:flex-start; }
  .plan-price { font-size:18px; }
}
@media(max-width:360px) {
  body .hero-copy h1, body .intro h1 { font-size:33px; }
  .language-switcher select { width:105px; }
  .hero-copy .actions, .download-section .actions, .showcase-copy .actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  body .hero-copy .button, body .download-section .button, body .showcase-copy .button { padding:8px; font-size:11px; gap:5px; }
  .section-intro h2, .download-section h2 { font-size:27px; }
}
html:lang(hi) body .hero-copy h1, html:lang(bn) body .hero-copy h1,
html:lang(hi) body .hero h1, html:lang(bn) body .hero h1 { letter-spacing:0; line-height:1.4; }
/* Long localized labels must wrap rather than expand the layout. */
.nav-inner .nav-right { flex-wrap:wrap; }
.nav-inner .countdown { flex:1; min-width:0; white-space:normal; line-height:1.5; }
.stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.stat { min-width:0; overflow-wrap:anywhere; }
.stat .n { line-height:1.25; }
@media(max-width:1000px) { .stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .stat .n span { display:block; margin:6px 0 0; font-size:16px; line-height:1.5; } }
/* English capture headings occupy more lines; frame the real app area. */
.visual-feature figure img[src$="-en.webp"] { margin-top:-45%; }
