/* Shared public-page theme, matching the product homepage. */
:root {
 --bg: #111113; --bg-2: #19191c; --surface: #1c1c20; --surface-2: #242429;
 --tx: #f3f3f5; --tx-2: #c0c0c8; --tx-3: #9999a5;
 --accent: oklch(80% .16 165); --accent-2: var(--accent);
 --accent-dim: oklch(80% .16 165 / .08); --accent-line: oklch(80% .16 165 / .3);
 --bg-primary: var(--bg); --bg-secondary: var(--bg-2); --bg-card: var(--surface);
 --text-primary: var(--tx); --text-secondary: var(--tx-2); --text-muted: var(--tx-3);
 --accent-primary: var(--accent); --accent-gradient: var(--accent);
 --font-main: 'Satoshi', sans-serif; --font-mono: 'JetBrains Mono', monospace;
 --maxw: 1320px;
}
body { background: var(--bg); color: var(--tx); font-family: 'Satoshi', sans-serif; }
.aura, .bg-gradient { display: none; }
h1,h2,h3,p { text-wrap: pretty; }
.nav, .nav.scrolled, .navbar, .navbar.scrolled { background: #111113; border-bottom: 1px solid #ffffff12; backdrop-filter: none; }
.nav .container, .navbar .container { min-height: 84px; }
.brand img.mark, .logo-icon-img { width: 34px; height: 34px; }
.brand img.word, .logo-wordmark { height: 19px; width: auto; }
.nav-cta { border-radius: 8px; background: var(--accent); color: #111d18; }
.help-shell, .legal-shell, .status-shell, .android-page { padding-top: 144px; }
.help-head, .legal-hero, .status-head, .android-header { text-align: left; align-items: flex-start; max-width: 1060px; margin-inline: auto; margin-bottom: 48px; }
.help-head h1, .legal-hero h1, .status-head h1, .android-header h1 { font-size: clamp(2.6rem,5vw,4.4rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.08; }
.help-search { max-width: 1060px; margin-bottom: 24px; }
.help-search input { border-radius: 10px; padding-block: 19px; }
.cat-row { max-width: 1060px; justify-content: flex-start; gap: 10px; margin-bottom: 64px; }
.cat-chip { border-radius: 8px; }
.help-section, .status-wrap { max-width: 1060px; }
.help-section-head h2, .legal-sec-head h2 { font-weight: 500; font-size: 1.6rem; }
.help-section details { border-radius: 10px; }
.legal-body { gap: 64px; }
.legal-toc { top: 108px; }
.legal-main { min-width: 0; }
.legal-main p, .legal-main li { line-height: 1.8; }
.legal-main a { overflow-wrap: anywhere; }
.service-card { border-radius: 14px; padding: 28px; }
.android-form-card { background: var(--surface); border-radius: 20px; box-shadow: none; }
.android-header .android-icon { color: var(--accent); }
.android-feature { background: var(--surface); border-radius: 14px; }
.px-mast::before { background: linear-gradient(90deg, rgba(17,17,19,.86), rgba(17,17,19,.62) 48%, rgba(17,17,19,.25)); }
.px-display, .pricing-header h1 { font-weight: 500; letter-spacing: -.045em; }
.px-mast-prices, .pricing-card { background: var(--surface); border-radius: 20px; }
.btn-primary { background: var(--accent); color: #111d18; border-radius: 8px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
@media(max-width:760px) {
 .help-shell, .legal-shell, .status-shell, .android-page { padding-top: 116px; }
 .help-head, .legal-hero, .status-head, .android-header { margin-bottom: 32px; }
 .legal-body { grid-template-columns: 1fr; gap: 32px; }
 .legal-toc { position: static; max-height: none; }
 .service-card { padding: 22px; }
 .navbar .nav-links { display: flex; flex-wrap: wrap; gap: 12px 18px; width: 100%; padding-bottom: 16px; }
 .navbar .container { flex-wrap: wrap; gap: 16px; padding-top: 16px; }
 .navbar .nav-links { order: 3; }
 body:has(.navbar) main { padding-top: 180px; }
 .navbar .nav-links a { font-size: .85rem; }
}
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto} *,*::before,*::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }
.mobile-menu { top:84px; visibility:hidden; overflow-y:auto; }
body.menu-open .mobile-menu { visibility:visible; }
.nav-lang-menu, .nav-lang-dropdown { visibility:hidden; }
.nav-lang.open .nav-lang-menu, .nav-lang.open .nav-lang-dropdown { visibility:visible; }
.navbar .nav-links .nav-cta { color: #111d18 !important; padding: 9px 14px; }
/* Localized pricing pages predate the current pricing stylesheet. */
.pricing-page { padding: 144px 0 72px; }
.pricing-page > .container { max-width:1120px; }
.pricing-page .section-header { text-align:left; max-width:760px; margin:0 0 48px; }
.pricing-page .section-header h1 { font-size:clamp(2.6rem,5vw,4.4rem); font-weight:500; letter-spacing:-.045em; line-height:1.08; margin-bottom:16px; }
.pricing-page .section-header p { color:var(--tx-2); line-height:1.7; }
/* The plan is one surface; spacing belongs to its content groups. */
.pricing-plan { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); grid-template-areas:"price features" "action features"; background:var(--surface); border:1px solid #ffffff14; border-radius:20px; padding:40px; gap:28px 40px; }
.pricing-hero { grid-area:price; }
.pricing-hero-price { font-size:clamp(3.5rem,6vw,4.75rem); letter-spacing:-.04em; line-height:1.1; }
.pricing-hero-period { font-size:1rem; color:var(--tx-2); margin-left:8px; letter-spacing:0; }
.pricing-hero-note { color:var(--tx-3); margin-top:8px; font-size:.9rem; }
.pricing-annual { color:var(--tx-2); margin-top:24px; line-height:1.6; max-width:32ch; }
.pricing-hero-trial { margin-top:16px; color:var(--accent); line-height:1.6; max-width:32ch; }
.pricing-includes { grid-area:features; padding-left:40px; border-left:1px solid #ffffff14; }
.pricing-includes-label { font-size:.75rem; text-transform:uppercase; letter-spacing:.13em; color:var(--tx-3); margin:0 0 20px; }
.pricing-includes ul { list-style:none; display:grid; gap:14px; }
.pricing-includes li { display:flex; align-items:baseline; gap:12px; line-height:1.5; }
.pricing-includes li::before { content:'✓'; color:var(--accent); flex:none; }
.pricing-cta-wrap { grid-area:action; align-self:end; }
.pricing-cta-btn { display:inline-flex; padding:16px 24px; border-radius:8px; background:var(--accent); color:#111d18; text-decoration:none; font-weight:700; }
.pricing-faq { max-width:1120px; margin:72px auto 0; }
.pricing-faq .section-header h2 { font-size:2.4rem; font-weight:500; letter-spacing:-.04em; }
@media(max-width:760px) {
 .pricing-page { padding-top:210px; }
 .pricing-plan { grid-template-columns:1fr; grid-template-areas:"price" "action" "features"; padding:28px; gap:28px; }
 .pricing-includes { padding:28px 0 0; border-left:0; border-top:1px solid #ffffff14; }
 .pricing-cta-btn { width:100%; justify-content:center; }
}

.navbar { padding: 0; }
.pricing-page > .lifetime-card { width:calc(100% - 48px); max-width:1072px; margin:24px auto; }
