.language-picker { display:inline-flex; align-items:center; gap:8px; flex-shrink:0; font:600 13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:inherit; }
.language-picker select { font:inherit; color:inherit; background:transparent; border:1px solid currentColor; border-radius:10px; min-height:44px; max-width:155px; padding:8px 28px 8px 10px; cursor:pointer; }
.language-picker option { color:#222; background:#fff; }
.language-picker select:focus-visible { outline:3px solid #c69544; outline-offset:3px; }
.language-picker .language-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.language-noscript { font-size:13px; line-height:2; display:flex; flex-wrap:wrap; gap:4px 12px; }
.top { flex-wrap:wrap; }
.nav { gap:18px; }
.nav-links { gap:20px; }
.language-hero-link { display:inline-flex; align-items:center; gap:10px; color:inherit; margin:18px 0 4px; font-weight:600; font-size:15px; text-underline-offset:4px; }
.language-section { max-width:1100px; margin:0 auto; padding:72px 30px; text-align:center; scroll-margin-top:120px; }
.language-section h2 { font-family:"DM Serif Display",Georgia,serif; font-size:clamp(32px,4vw,48px); font-weight:400; line-height:1.15; margin:14px auto 18px; }
.language-section p { max-width:680px; margin:0 auto; line-height:1.65; }
.language-list { list-style:none; padding:0; margin:28px auto 22px; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.language-list li { border:1px solid #c8ad80; padding:10px 18px; border-radius:24px; font-size:16px; background:#fff9ec; color:#522e25; }
.language-section small { display:block; max-width:650px; margin:auto; line-height:1.7; opacity:.8; }
.hero .copy { min-width:0; }
.hero h1 { overflow-wrap:normal; }
.standing-friend span { white-space:normal; line-height:1.2; }
html[lang=ru] .hero h1, html[lang=de] .hero h1 { font-size:clamp(42px,4.6vw,70px); }
.feature-ribbon { flex-wrap:wrap; gap:16px 36px; }
.price-card button { white-space:normal; }
.page-language { width:100%; display:flex; justify-content:flex-end; margin-bottom:28px; position:relative; z-index:1; }
@media(max-width:1100px) { .nav-links { display:none; } }
@media(max-width:600px) {
  .nav { flex-wrap:wrap; height:auto; min-height:74px; padding-top:12px; padding-bottom:12px; gap:8px 12px; }
  .nav .brand { margin-right:auto; }
  .nav .language-picker { order:2; }
  .nav .nav-cta { order:3; flex-basis:100%; text-align:center; justify-content:center; min-height:40px; padding:8px 12px; }
  .language-picker select { max-width:140px; }
  .language-section { padding:52px 22px; }
  .language-list li { padding:9px 14px; }
  .top .language-picker { margin-left:auto; }
  .hero .primary { white-space:normal; }
  .hero h1 { font-size:clamp(38px,10vw,52px); }
  html[lang=ru] .hero h1, html[lang=de] .hero h1 { font-size:clamp(36px,9.5vw,50px); }
}
.c2 .nav { gap:18px; }
.c2 .hero .copy { min-width:0; }
.c2 .standing-friend span { white-space:normal; line-height:1.2; }
.c2 .call-title { padding:0 12px; }
.c2 .feature-ribbon { flex-wrap:wrap; gap:16px 36px; }
@media(max-width:1100px) { .c2 .nav-links { display:none; } }
@media(max-width:600px) {
  .c2 .nav { height:auto; min-height:74px; padding:12px 18px; gap:8px 12px; flex-wrap:wrap; }
  .c2 .nav .brand { margin-right:auto; }
  .c2 .nav .nav-cta { order:3; flex-basis:100%; min-height:40px; justify-content:center; padding:8px 12px; }
  .c2 .nav .language-picker { order:2; }
  .c2 .nav-links { display:none; }
  .c2 .hero .primary { white-space:normal; }
  .c2 .call-title { font-size:clamp(14px,4vw,20px); top:40px; }
  .c2 .call-title small { font-size:9px; padding:0; }
  html[lang=de] .c2 .hero h1 { font-size:clamp(34px,8.5vw,48px); }
  html[lang=ru] .c2 .hero h1 { font-size:clamp(36px,9.5vw,50px); }
}
h1, h2 { hyphens:auto; overflow-wrap:anywhere; }
.wrap, .purchase-card { overflow-wrap:anywhere; }

/* Generated text spans must remain visible on the narrowest iPhone layout. */
.c2 .nav-cta span { display:inline; }
.c2 .nav-cta span:first-child { margin-left:0; }
.c2 .media-bottom > span, .c2 .media-bottom > i { display:block; }
.language-links{display:flex;flex-wrap:wrap;gap:12px 20px;width:100%;padding:20px 0;font-size:13px;line-height:1.5}.language-links a{color:inherit;min-height:32px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.seo-guides{padding-top:36px;padding-bottom:36px}.seo-guides h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(28px,4vw,40px);line-height:1.2}.seo-guides p{max-width:60ch;color:#65594e}.seo-guide-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.seo-guide-links a{padding:22px;border:1px solid #dccfb9;border-radius:16px;color:#8a2230;background:#fffcf5;text-decoration:none;font-weight:650;line-height:1.5}.seo-guide-links a:hover{text-decoration:underline}.seo-guide-links a:focus-visible{outline:3px solid #956921;outline-offset:3px}.analytics-choice{width:100%;color:#584d42;font-size:13px;text-align:left;border-top:1px solid #e5dbcb;padding:16px 0;line-height:1.6}.analytics-choice summary{cursor:pointer;min-height:28px}.analytics-choice p{font-size:13px;max-width:75ch;line-height:1.65}.analytics-choice>div{display:flex;gap:12px;flex-wrap:wrap}.analytics-choice button{font:inherit;min-height:44px;padding:8px 14px;border:1px solid #b7a896;border-radius:8px;background:white;color:#7d2430;cursor:pointer}.analytics-choice button[aria-pressed=true]{border:2px solid #7d2430}.analytics-choice button:disabled{color:#65594e;cursor:default}.analytics-choice button:focus-visible{outline:3px solid #956921;outline-offset:3px}@media(max-width:650px){.seo-guide-links{grid-template-columns:1fr}.seo-guide-links a{padding:18px}}
.ads-choice{border-top:1px dashed #e5dbcb}.ads-consent{position:fixed;left:12px;right:12px;bottom:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:9;max-width:560px;margin:0 auto;background:#fffcf5;color:#302922;border:1px solid #dccfb9;border-radius:16px;padding:16px 18px;box-shadow:0 10px 40px #2b1a1026;font-size:14px;line-height:1.55;text-align:left}.ads-consent[hidden]{display:none!important}.ads-consent p{margin:0 0 12px;color:#584d42;font-size:14px}.ads-consent a{color:#7d2430}.ads-consent>div{display:flex;gap:10px;flex-wrap:wrap}.ads-consent button{font:inherit;min-height:44px;padding:8px 18px;border-radius:10px;border:1px solid #b7a896;background:white;color:#7d2430;cursor:pointer;font-weight:600}.ads-consent button[data-ads-allow]{background:#7d2430;color:white;border-color:#7d2430}.ads-consent button:focus-visible{outline:3px solid #956921;outline-offset:3px}body.has-ads-banner .mobile-download{display:none!important}

/* All website editions share the same content and controls. Logical alignment supports RTL. */
:root { --locale-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",sans-serif; }
html { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
html[dir=rtl] { --locale-sans:Tahoma,"Geeza Pro","Noto Sans Arabic","Noto Sans Hebrew",system-ui,sans-serif; }
html:lang(zh), html:lang(ja), html:lang(ko) { --locale-sans:system-ui,"PingFang SC","PingFang TC","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic",sans-serif; }
html:lang(hi),html:lang(mr),html:lang(ne),html:lang(bn),html:lang(as),html:lang(gu),html:lang(kn),html:lang(ml),html:lang(or),html:lang(pa),html:lang(ta),html:lang(te),html:lang(my),html:lang(km),html:lang(lo),html:lang(th) { --locale-sans:system-ui,"Noto Sans",sans-serif; }
body,button,input,select,textarea { font-family:var(--locale-sans); }
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3 { font-family:var(--locale-sans); letter-spacing:normal; line-height:1.45; }
html:lang(zh) h1,html:lang(ja) h1,html:lang(ko) h1 { line-height:1.3; letter-spacing:normal; }
html[dir=rtl] .eyebrow,html[dir=rtl] .kicker,html[dir=rtl] .call-title { letter-spacing:normal; }
.language-editions { flex-basis:100%; width:100%; min-width:0; padding-block:16px; text-align:start; border-block-start:1px solid #e5dbcb; }
.language-editions summary { cursor:pointer; min-height:44px; align-content:center; font-size:14px; font-weight:600; }
.language-editions input { display:block; width:100%; max-width:360px; min-height:44px; padding:10px 12px; margin-block:12px; border:1px solid #b7a896; border-radius:8px; color:#302922; background:#fff; font:inherit; }
.language-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:8px 20px; text-align:start; }
.language-links a { min-height:44px; overflow-wrap:anywhere; padding-inline:4px; }
.language-links a[aria-current=page] { font-weight:750; }
.language-picker { min-width:0; max-width:100%; }
.language-picker select { padding-inline:10px 28px; max-width:170px; }
.language-editions [hidden], .language-suggestion[hidden], [data-language-search][hidden] { display:none!important; }
.language-suggestion { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin:20px auto; max-width:1100px; padding:16px 24px; border:1px solid #dccfb9; border-radius:12px; background:#fffcf5; color:#302922; font-size:14px; line-height:1.6; }
.language-suggestion a,.language-suggestion button { min-height:44px; display:inline-flex; align-items:center; color:#7d2430; font:inherit; }
.language-suggestion button { background:#fff; border:1px solid #b7a896; border-radius:8px; padding:8px 12px; cursor:pointer; }
.language-editions input:focus-visible,.language-suggestion a:focus-visible,.language-suggestion button:focus-visible { outline:3px solid #956921; outline-offset:3px; }
.analytics-choice,.ads-consent,table,caption { text-align:start; }
.guide ol,.guide ul { padding-left:0; padding-inline-start:25px; }
.guide,.guide-nav,.guide-footer,.hero .copy,.seo-guides { min-width:0; }
.guide h1,.hero h1,.guide h2,.guide p,.guide li,.guide dd { overflow-wrap:anywhere; }
.guide-nav>div { min-width:0; }
.guide-nav a,.guide-cta a,.nav-cta,.primary,.ads-consent button { white-space:normal; overflow-wrap:anywhere; }
html[dir=rtl] .skip-link { left:auto; right:12px; }
html[dir=rtl] input[type=email],html[dir=rtl] input[type=tel],html[dir=rtl] input[autocomplete=one-time-code] { direction:ltr; text-align:start; }
html[dir=rtl] .nav .brand,html[dir=rtl] .c2 .nav .brand { margin-right:0; margin-inline-end:auto; }
html[dir=rtl] .top .language-picker { margin-left:0; margin-inline-start:auto; }
@media(max-width:600px) {
  .language-suggestion { margin:16px 12px; padding:14px 16px; }
  .language-picker select { max-width:145px; }
  .guide-nav .language-picker { margin-inline-start:auto; }
  .guide-nav { gap:12px; }
}
/* The launch page uses separate hero classes from the older core-page templates. */
.hero-copy,.hero-actions,.hero-actions>* { min-width:0; }
.hero-body,.hero-lede,.download-button span,.watch-button span { overflow-wrap:anywhere; }
.hero-actions .download-button { white-space:normal; }
html[dir=rtl] .hero-actions .download-button>svg:last-child { transform:scaleX(-1); }
html[dir=rtl] .hero-actions .download-button>svg:first-child { transform:none; }
/* Keep the disclosure below policy links on the compact checkout footer. */
.purchase-footer { flex-wrap:wrap; }
/* CJK copy needs balanced phrases and a compact call to action on narrow phones. */
html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) :is(.hero-copy h1,.hero-lede,.hero-body,.note-name) {
  line-break:strict;
  text-wrap:balance;
  overflow-wrap:normal;
}
html:lang(ko) :is(.hero-copy h1,.hero-lede,.hero-body,.note-name) { word-break:keep-all; }
@media(max-width:760px) {
  html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) .launch-site .hero-copy h1 {
    font-size:clamp(36px,10vw,54px);
    line-height:1.35;
    letter-spacing:normal;
  }
  html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) .hero-lede {
    font-size:clamp(16px,4.5vw,19px);
    line-height:1.65;
  }
  html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) .hero-actions .download-button {
    width:100%;
    max-width:320px;
    padding-inline:14px;
    gap:8px;
    font-size:clamp(13px,3.6vw,15px);
  }
  html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) .hero-actions .download-button span {
    white-space:nowrap;
    overflow-wrap:normal;
  }
  html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) .hero-actions .download-button>svg { flex-shrink:0; }
  html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) .hero-actions .download-button>svg:last-child { display:none; }
  html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) .note-name {
    max-width:220px;
    font-size:13px;
    line-height:1.5;
  }
  html:is(:lang(ja),:lang(zh),:lang(ko),:lang(yue)) .note-name>svg { flex-shrink:0; }
}
html:lang(ja) :is(.hero-lede,.hero-body,.magic-note span,.magic-note small) {
  word-break:auto-phrase;
  text-wrap:balance;
  line-break:strict;
  overflow-wrap:normal;
}
html:is(:lang(zh),:lang(ko),:lang(yue)) :is(.magic-note span,.magic-note small) { text-wrap:balance; line-break:strict; }
/* Long Armenian heading words must fit the narrow parent card as well as sections. */
@media(max-width:760px) {
  html:lang(hy) .launch-site h2 {
    font-size:clamp(28px,8vw,42px);
    line-height:1.3;
    overflow-wrap:anywhere!important;
    text-wrap:balance;
  }
}
/* Malayalam vowel marks and long joined words need room inside the mobile hero. */
@media(max-width:760px) {
  html:lang(ml) .launch-site .hero-copy h1 {
    font-size:clamp(28px,9vw,42px);
    line-height:1.6;
    letter-spacing:normal;
    overflow-wrap:anywhere!important;
  }
}
/* Let the chosen native name use spare header space; ellipsis never changes an option. */
.language-picker select { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:760px) {
  .launch-site .launch-nav .language-picker { flex-shrink:1; max-width:min(170px,calc(100vw - 196px)); }
  .launch-site .launch-nav .language-picker select { width:100%; max-width:100%; text-overflow:ellipsis; }
}
/* Urdu joining forms need room inside the mobile hero's padded text column. */
@media(max-width:760px) {
  html:lang(ur) .launch-site .hero-copy h1 {
    font-size:clamp(32px,10vw,42px);
    line-height:1.5;
    letter-spacing:normal;
    text-wrap:balance;
  }
}
/* Keep long translated words inside the hero's padded column on narrow phones. */
@media(max-width:760px) {
  html:is(:lang(hy),:lang(hr),:lang(da),:lang(et),:lang(fi),:lang(hu),:lang(is),:lang(kn),:lang(kk),:lang(lv),:lang(ms),:lang(mn),:lang(uk)) .launch-site .hero-copy h1 {
    font-size:clamp(46px,calc(17.1429vw - 6.857px),60px);
    text-wrap:balance;
  }
  html:lang(ka) .launch-site .hero-copy h1 {
    font-size:clamp(42px,calc(17.1429vw - 10.857px),58px);
    text-wrap:balance;
  }
}
/* Burmese clusters stay intact; fit the phrase without arbitrary character breaks. */
html:lang(my) .launch-site .hero-copy h1 {
  font-size:clamp(44px,6.2vw,90px);
  line-height:1.45;
  letter-spacing:normal;
  word-break:normal;
  overflow-wrap:normal;
  text-wrap:balance;
}
@media(max-width:760px) {
  html:lang(my) .launch-site .hero-copy h1 { font-size:clamp(34px,11.5vw,52px); }
}
@media(max-width:760px) {
  html:is(:lang(ta),:lang(te)) .launch-site .hero-copy h1 {
    font-size:clamp(38px,calc(15.7143vw - 10.286px),58px);
    line-height:1.4;
    letter-spacing:normal;
    text-wrap:balance;
  }
}
/* Long headings inside the narrower parent/closing cards need their own fit. */
@media(max-width:390px) {
  html:is(:lang(fil),:lang(fr),:lang(ml),:lang(mi)) .launch-site .final-copy h2 {
    font-size:clamp(32px,calc(11.4286vw - 2.571px),42px);
    text-wrap:balance;
  }
  html:is(:lang(fr),:lang(ky),:lang(oc),:lang(uz)) .launch-site .parent-letter h2 {
    font-size:clamp(28px,calc(8.5714vw + 2.571px),36px);
    text-wrap:balance;
  }
  html:lang(kk) .launch-site .parent-letter h2 {
    font-size:clamp(24px,calc(15.7143vw - 25.286px),36px);
    text-wrap:balance;
  }
  html:lang(so) .launch-site .parent-letter h2 {
    font-size:clamp(23px,calc(10vw - 8px),36px);
    text-wrap:balance;
  }
  html:lang(kk) .launch-site :is(.section-heading,.section-intro) h2 {
    font-size:clamp(27px,calc(15.7143vw - 22.286px),39px);
    text-wrap:balance;
  }
  html:is(:lang(el),:lang(ru)) .launch-site :is(.section-heading,.section-intro) h2 {
    font-size:clamp(32px,calc(8.5714vw + 5.571px),39px);
    text-wrap:balance;
  }
}
@media(min-width:391px) and (max-width:760px) {
  html:lang(kk) .launch-site .parent-letter h2 { font-size:34px; }
  html:lang(kk) .launch-site :is(.section-heading,.section-intro) h2 { font-size:38px; }
  html:lang(so) .launch-site .parent-letter h2 { font-size:32px; }
}
@media(min-width:761px) and (max-width:960px) {
  html:is(:lang(ml),:lang(ta),:lang(te)) .launch-site .hero-copy h1 {
    font-size:clamp(52px,6.7vw,64px);
    line-height:1.4;
    letter-spacing:normal;
  }
}
@media(max-width:390px) {
  html:lang(fr) .launch-site .final-copy h2 {
    font-size:clamp(30px,calc(15.7143vw - 19.286px),42px);
  }
}
