/* Script-aware typography and the shared language navigation. */
.brand{flex:none;line-height:1;gap:10px;direction:ltr}.brand img{width:64px;height:64px;max-width:none;object-fit:contain;flex:none}.brand .brand-wordmark{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:30px;line-height:1.1;letter-spacing:-.04em;white-space:nowrap}.site-header{gap:26px}.main-nav{margin-inline-start:auto;gap:24px}.main-nav a{white-space:normal;text-align:center;line-height:1.45}.header-controls{display:flex;align-items:center;gap:10px;flex:none}.language-picker{position:relative;font-size:13px;z-index:20}.language-picker summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;cursor:pointer;padding:8px 12px;list-style:none;border:1px solid var(--line);border-radius:24px;line-height:1.4}.language-picker summary::-webkit-details-marker{display:none}.language-picker summary:hover,.language-picker[open] summary{background:var(--paper)}.language-picker summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.language-icon{flex:none}.language-code{display:none}.language-panel{position:absolute;inset-inline-end:0;top:calc(100% + 12px);width:340px;max-width:calc(100vw - 40px);padding:20px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 48px #1b304a1a}.language-title{font-weight:700;font-size:13px;margin:0 0 12px}.language-options{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;max-height:min(65vh,440px);overflow-y:auto;overscroll-behavior:contain}.language-options a{display:flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:8px;font-size:13px;text-decoration:none;line-height:1.6}.language-options a:hover{background:var(--paper)}.language-options a[aria-current=true]{background:var(--soft-blue);font-weight:700;color:var(--blue)}.language-note{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line)}.classical-note,.translation-note{font-size:13px;color:var(--muted);line-height:1.7}.classical-note{padding-bottom:36px;text-align:center}.translation-note a{text-decoration:underline}.money{white-space:nowrap}.plan-price{white-space:normal}.plan-price .money{display:inline-block}.plan-price small{display:inline-block}.price-plan{overflow-wrap:anywhere}.preview-tabs button{min-width:80px}.hero h1,.page-hero h1{overflow-wrap:normal;text-wrap:balance}.footer-top nav a{gap:5px}.main-nav{flex:1;justify-content:flex-end}.main-nav a{flex:none}.main-nav .nav-cta{flex:none}
/* Extended Latin, Cyrillic and polytonic Greek use complete local character sets. */
:lang(ru),:lang(el){font-family:Manrope,Arial,sans-serif}
:lang(grc){font-family:'Theoria Sans Extended',Arial,sans-serif}
:lang(ru) h1,:lang(ru) h2,:lang(el) h1,:lang(el) h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-.035em}
:lang(grc) h1,:lang(grc) h2{font-family:'Theoria Sans Extended',Arial,sans-serif;letter-spacing:-.035em}
:lang(ru) h1,:lang(el) h1,:lang(grc) h1{font-size:clamp(40px,5.5vw,72px)}
:lang(grc) h1,:lang(grc) h2{line-height:1.22}
:lang(uz){font-family:Manrope,'Theoria Sans Extended',Arial,sans-serif}
/* Preserve the brand's restraint without forcing Latin metrics on CJK. */
:lang(ja){font-family:'Theoria Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-break:strict;word-break:normal;overflow-wrap:anywhere}
:lang(ja) h1,:lang(ja) h2{font-family:'Theoria Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-weight:500;line-height:1.45;letter-spacing:.01em;font-variation-settings:normal}
:lang(zh-Hans){font-family:'Theoria Sans SC','PingFang SC','Microsoft YaHei',sans-serif;line-break:strict;word-break:normal}
:lang(zh-Hans) h1,:lang(zh-Hans) h2{font-family:'Theoria Sans SC','PingFang SC','Microsoft YaHei',sans-serif;line-height:1.4;letter-spacing:.015em;font-variation-settings:normal}
:lang(ko){font-family:'Theoria Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;word-break:keep-all;overflow-wrap:anywhere}
:lang(ko) h1,:lang(ko) h2{font-family:'Theoria Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.35;letter-spacing:-.03em;font-variation-settings:normal}
:lang(ja) h1,:lang(zh-Hans) h1,:lang(ko) h1{font-size:clamp(36px,4.7vw,64px);max-width:15em;margin-inline:auto}
:lang(ja) h2,:lang(zh-Hans) h2,:lang(ko) h2{font-size:clamp(30px,3.2vw,44px)}
:lang(ja) .hero h1,:lang(zh-Hans) .hero h1,:lang(ko) .hero h1{max-width:13em}
:lang(ja) .eyebrow,:lang(zh-Hans) .eyebrow,:lang(ko) .eyebrow{letter-spacing:.05em;text-transform:none}
:lang(ja) .lead,:lang(zh-Hans) .lead,:lang(ko) .lead{line-height:1.9}
:lang(ja) .understanding-copy>p:not(.eyebrow):not(.caption),:lang(ja) .privacy-page p,:lang(ja) .reading p{font-size:16px;line-height:1.9}
/* Arabic is a true RTL document. Numbers, logos and preview images retain direction. */
:lang(ar){font-family:'Theoria Sans Arabic',Tahoma,Arial,sans-serif;line-height:1.9}
:lang(ar) h1,:lang(ar) h2{font-family:'Theoria Sans Arabic',Tahoma,Arial,sans-serif;line-height:1.5;letter-spacing:0;font-variation-settings:normal;font-weight:500}
:lang(ar) h1{font-size:clamp(40px,5.8vw,76px)}
:lang(ar) .eyebrow{letter-spacing:0;font-size:14px;text-transform:none}
:lang(ar) .brand,:lang(ar) .device-stage,:lang(ar) .phone-triptych{direction:ltr}

:lang(ar) .faq summary{padding-inline:0 32px}
:lang(ar) .faq summary::after{right:auto;inset-inline-end:4px}
:lang(ar) .faq details>div{padding-inline:0 28px}
:lang(ar) .faq ol{padding-inline-start:20px;padding-inline-end:0}
:lang(ar) .idea-path::before{left:16%;right:6px}
:lang(ar) .plan-price small{margin-left:0;margin-inline-start:6px}
:lang(ar) .plan-price{font-family:'Theoria Sans Arabic',Tahoma,sans-serif}
:lang(ar) .footer-bottom p:last-child{direction:ltr}
@media(max-width:1100px){.site-header{min-height:92px;flex-wrap:wrap;gap:0}.header-controls{margin-inline-start:auto}.menu-toggle{display:inline-flex;align-items:center;gap:9px;background:none;border:1px solid var(--line);border-radius:24px;padding:0 16px;min-height:44px;color:var(--ink);font-size:13px;line-height:1.4}.menu-toggle::after{content:'+';font-size:19px}.menu-toggle[aria-expanded=true]::after{content:'−'}.menu-toggle:hover{background:var(--paper)}.main-nav{display:none;order:5;flex-basis:100%;width:100%;padding:12px 0 24px;flex-direction:column;align-items:stretch;gap:2px;border-bottom:1px solid var(--line);margin:0}.main-nav.is-open{display:flex}.main-nav a{justify-content:flex-start;text-align:start;font-size:15px;padding-inline:8px}.main-nav .nav-cta{margin-top:8px;justify-content:center}}
@media(max-width:700px){.brand{gap:6px}.brand img{width:54px;height:54px}.brand .brand-wordmark{font-size:26px}.site-header{min-height:82px}.language-current{display:none}.language-code{display:inline;font-size:11px}.language-picker summary{padding:8px 10px;gap:6px}.header-controls{gap:7px}.language-panel{position:fixed;top:76px;inset-inline:20px;width:auto;max-width:none}.menu-toggle{padding:0 12px}.preview-tabs button{padding-inline:17px}.page-hero h1{overflow-wrap:anywhere}.family-note h2{font-size:30px}.plan-price{font-size:38px}.price-plan{padding-inline:22px}.price-plan .button{min-width:0;max-width:100%;text-align:center}:lang(ar) .hero h1{font-size:44px}:lang(ru) .hero h1,:lang(el) .hero h1,:lang(grc) .hero h1{font-size:clamp(32px,8.7vw,44px)}:lang(ja) .hero h1,:lang(zh-Hans) .hero h1,:lang(ko) .hero h1{font-size:34px;max-width:12em}:lang(ja) .hero .lead,:lang(zh-Hans) .hero .lead,:lang(ko) .hero .lead{font-size:16px;max-width:24em}}
@media(max-width:380px){.brand{gap:4px}.brand img{width:44px;height:44px}.brand .brand-wordmark{font-size:24px}.header-controls{gap:5px}.menu-toggle{padding:0 10px;font-size:12px}.language-picker summary{padding:8px}.language-code{display:none}.hero h1{font-size:40px}.preview-tabs button{min-width:70px;padding-inline:12px}.language-options a{padding-inline:5px;font-size:12px}}
@media(forced-colors:active){.language-options a[aria-current=true]{outline:2px solid Highlight}.language-panel{border:1px solid CanvasText}}
/* Translated captions and link labels may be longer than their English sources. */
.preview-caption p{flex:1}.preview-caption span{white-space:normal;text-align:end;flex:0 1 45%;max-width:50%}.text-link{max-width:100%}.text-link span,.button span,.footer-top nav a span{flex:none}
.original-control{font-family:Manrope,system-ui,sans-serif;font-size:12px;color:var(--muted);display:inline-block;unicode-bidi:isolate}
:lang(grc) .eyebrow,:lang(el) .eyebrow{text-transform:none;letter-spacing:.025em}
