/* Sub-pages in the landing page's language: dark centered hero with a bracket label, content on the light sheet. */
body.p28 { background: #09090a; }
.br28 { margin: 0 0 16px; font: 500 14px/1 ui-monospace, Menlo, monospace; letter-spacing: .04em; color: #f3d94e; }
.br28 span { color: #b4b9c0; }
/* ===== hero ===== */
.p28 .hero, .p28 .p28-hero { position: relative; text-align: center; }
.p28 .hero-glow { display: none !important; }
.p28 .hero::before, .p28 .p28-hero::before { content: ""; position: absolute; z-index: -1; left: 50%; top: -80px; width: min(1100px, 100%); height: 520px; transform: translateX(-50%); pointer-events: none;
  background: radial-gradient(59% 50% at 50% 50%, rgba(255,255,255,.07), rgba(255,255,255,0) 100%); }
.p28 .hero { padding: 84px 20px 96px !important; margin-top: 0 !important; isolation: isolate; }
.p28 .p28-label { display: flex; justify-content: center; }
.p28 .cx-hero-grid, .p28 .gd-hero-inner { display: flex !important; flex-direction: column; align-items: center; max-width: 900px; margin: 0 auto; }
.p28 .hero-copy { max-width: 820px !important; margin: 0 auto !important; text-align: center !important; display: flex; flex-direction: column; align-items: center; }
.p28 .hero h1, .p28 .p28-hero h1 { margin: 0 !important; font-size: clamp(42px, 5.6vw, 68px) !important; line-height: 1.08 !important; letter-spacing: -0.045em !important; font-weight: 600 !important; color: #fff !important; text-wrap: balance; }
.p28 .hero h1 .accent, .p28 .hero h1 span { background: linear-gradient(135deg, #fff1a1 0%, #f3d94e 45%, #e9b923 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.p28 .hero .lead, .p28 .p28-hero .legal-lead { max-width: 36em; margin: 18px auto 0 !important; font-size: 18px !important; line-height: 1.45; color: rgba(255,255,255,.73) !important; text-align: center; }
.p28 .cx-adds, .p28 .gd-hero .hero-cta, .p28 .hero .cta-row { justify-content: center !important; }
.p28 .cx-soon, .p28 .cx-other { text-align: center; }
.p28 .cx-buddy, .p28 .gd-buddy { display: none !important; }
.p28 .p28-hero { max-width: 900px; margin: 0 auto; padding: 84px 20px 88px; display: flex; flex-direction: column; align-items: center; isolation: isolate; }
.p28 .p28-hero .legal-date { margin-top: 18px; color: #8a8f98 !important; }
.p28 .p28-hero .eyebrow, .p28 .hero .eyebrow { display: none; }
/* ===== the light sheet ===== */
.p28 .light.sheet28 {
  --paper: #fafafa; --card: #ffffff; --rule: #e6e6e8; --ink: #0b0b0c; --ink-2: #4d525a; --ink-3: #6f747c;
  margin: 0 8px !important; padding: 0 !important; border-radius: 28px !important; overflow: hidden; color: #0b0b0c !important;
  background: repeating-linear-gradient(135deg, #efeff0 0 1px, #f6f6f6 1px 9px) !important; }
.p28 .sheet28 > * { max-width: 1200px; margin-inline: auto !important; background: #fafafa; border-inline: 1px solid #e9e9ea; }
.p28 .sheet28 > * + * { border-top: 1px solid #e9e9ea; }
.p28 .sheet28 > .section, .p28 .sheet28 > section { padding: 96px 72px 96px !important; }
.p28 .sheet28 > article.legal { max-width: 1200px; padding: 72px max(72px, calc((1200px - 800px) / 2)) 96px !important; }
.p28 .sheet28 :is(h2, h3) { color: #0b0b0c; }
.p28 .sheet28 .section h2, .p28 .sheet28 .section-head h2 { font-size: clamp(34px, 4.4vw, 56px) !important; letter-spacing: -0.05em !important; font-weight: 600 !important; line-height: 1.03; }
.p28 .sheet28 .section-head h2 .accent, .p28 .sheet28 h2 .accent { color: #8a8f98 !important; background: none; }
.p28 .sheet28 .section-head p, .p28 .sheet28 .section-lead { color: #4d525a !important; }
.p28 .sheet28 p, .p28 .sheet28 li, .p28 .sheet28 td { color: inherit; }
.p28 .sheet28 a:not(.btn):not(.cx-add):not(.gd-copy) { color: #0b0b0c; text-decoration-color: #c9a500; }
/* legal text */
.p28 .sheet28 .legal-list > li { border-top-color: #e6e6e8 !important; }
.p28 .sheet28 .legal-body, .p28 .sheet28 .legal-body p, .p28 .sheet28 .legal-body li { color: #3d4249 !important; }
.p28 .sheet28 .legal-body strong, .p28 .sheet28 .legal-body b { color: #0b0b0c !important; }
.p28 .sheet28 .legal-list > li > span { color: #b38f00 !important; font-family: ui-monospace, Menlo, monospace; font-size: 13px; }
/* FAQ rows like the landing page, on light */
.p28 .sheet28 .faq details { background: none !important; border: 0 !important; border-bottom: 1px dashed #d9d9dc !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; }
.p28 .sheet28 .faq details:first-child { border-top: 1px dashed #d9d9dc !important; }
.p28 .sheet28 .faq summary { padding: 20px 32px 20px 0 !important; color: #0b0b0c !important; font-weight: 500; }
.p28 .sheet28 .faq p { color: #4d525a !important; }
/* cards on light: white with a hairline, like the landing page's feature cards */
.p28 .sheet28 :is(.sp-card, .sp-contact, .cx-card, .gd-card:not(.gd-card-dark), .plan) { background: #fff !important; border: 1px solid #e9e9ea !important; box-shadow: 0 10px 30px -22px rgba(0,0,0,.35) !important; color: #0b0b0c !important; }
.p28 .sheet28 :is(.sp-card, .sp-contact, .cx-card) :is(p, small, span) { color: #4d525a; }
.p28 .sheet28 .sp-before { background: #fff8d1 !important; border: 1px solid #f0dd7c !important; color: #3d3200 !important; }
.p28 .sheet28 .sp-before ul, .p28 .sheet28 .sp-before li { color: #5a4b00 !important; }
/* tables */
.p28 .sheet28 table { color: #0b0b0c; } .p28 .sheet28 :is(th, td) { border-color: #e6e6e8 !important; }
/* product mock-ups stay dark, as on the landing page */
.p28 .sheet28 :is(.cx-visual, .tp-scene, .cx-dialog, .chat, .gd-say, .gd-card-dark, .tp-card, .demo, .gd-demo .demo) { color: #f7f8f8; }
/* chips / filters on light */
.p28 .sheet28 :is(.gd-filter a, .cx-seg, .demo-tabs button) { color: #4d525a; box-shadow: inset 0 0 0 1px #e1e1e3; background: #fff; }
.p28 .sheet28 :is(.gd-filter a, .cx-seg, .demo-tabs button):is([aria-current="true"], [aria-selected="true"], [aria-pressed="true"]) { background: #0b0b0c; color: #fff; box-shadow: none; }
.p28 .sheet28 .demo-tabs { background: #f1f1f2 !important; box-shadow: inset 0 0 0 1px #e6e6e8 !important; }
.p28 main { padding-bottom: 96px; }
@media (max-width: 760px) {
  .p28 .light.sheet28 { margin: 0 !important; border-radius: 22px !important; }
  .p28 .sheet28 > * { border-inline: 0; }
  .p28 .sheet28 > .section, .p28 .sheet28 > section { padding: 64px 20px !important; }
  .p28 .sheet28 > article.legal { padding: 48px 20px 64px !important; }
  .p28 .hero, .p28 .p28-hero { padding: 56px 20px 64px !important; }
}
/* dark islands inside the sheet keep light text (product mock-ups, chat demos, key caps) */
.p28 .sheet28 :is(.cx-visual, .how-talk, .gd-start, .gd-say, .gd-ways-demo, kbd) {
  --paper: #0f1011; --card: #0f1011; --rule: rgba(255,255,255,.08); --ink: #f7f8f8; --ink-2: #b4bcc8; --ink-3: #8a8f98; color: #f7f8f8; }
.p28 .sheet28 :is(.cx-visual, .how-talk, .gd-start, .gd-say, .gd-ways-demo) :is(h2, h3, h4, b, strong) { color: #f7f8f8 !important; }
.p28 .sheet28 :is(.cx-visual, .how-talk, .gd-start, .gd-say, .gd-ways-demo) :is(p, li, small, span:not(.accent)) { color: inherit; }
.p28 .sheet28 .gd-start p, .p28 .sheet28 .how-talk p { color: #b4bcc8 !important; }
/* controls and data on the sheet go light */
.p28 .sheet28 :is(.cx-segs, .gd-filter) { background: #f1f1f2 !important; box-shadow: inset 0 0 0 1px #e4e4e6 !important; }
.p28 .sheet28 :is(.cx-segs, .gd-filter) :is(a, button) { color: #4d525a !important; background: transparent !important; box-shadow: none !important; }
.p28 .sheet28 :is(.cx-segs, .gd-filter) :is(a, button):is([aria-current="true"], [aria-selected="true"], [aria-pressed="true"], [aria-checked="true"]) { background: #fff !important; color: #0b0b0c !important; box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 0 0 1px #e4e4e6 !important; }
.p28 .sheet28 :is(.cx-segs, .gd-filter) img { filter: none; }
.p28 .sheet28 .cx-plans { background: #fff !important; color: #0b0b0c !important; border: 1px solid #e6e6e8 !important; box-shadow: 0 10px 30px -22px rgba(0,0,0,.35) !important; }
.p28 .sheet28 .cx-plans :is(td, th, b, strong) { color: #0b0b0c !important; } .p28 .sheet28 .cx-plans th { color: #6f747c !important; } .p28 .sheet28 .cx-plans td:last-child { color: #4d525a !important; }
.p28 .sheet28 .sp-way { background: #fff !important; border: 1px solid #e6e6e8 !important; box-shadow: 0 10px 30px -22px rgba(0,0,0,.35) !important; color: #0b0b0c !important; }
.p28 .sheet28 .sp-way :is(h2, h3) { color: #0b0b0c !important; } .p28 .sheet28 .sp-way :is(p, li) { color: #3d4249 !important; }
.p28 .sheet28 .cx-plan { background: #fff8d1 !important; border: 1px solid #f0dd7c !important; color: #3d3200 !important; }
.p28 .sheet28 .cx-plan * { color: inherit !important; }
.p28 .sheet28 .sp-before b, .p28 .sheet28 .sp-before strong { color: #7a6100 !important; }
/* contrast fixes found by scanning every text node on the sheet */
.p28 .sheet28 :is(.is-go, .cx-apple, .is-allow, .cx-plus) { color: #08090a !important; }
.p28 .sheet28 .cx-status.is-yes { color: #15803d !important; background: #dcfce7 !important; }
.p28 .sheet28 .cx-control > li { background: #fff !important; border: 1px solid #e6e6e8 !important; box-shadow: 0 10px 30px -22px rgba(0,0,0,.35) !important; }
.p28 .sheet28 .cx-control > li :is(h3, a) { color: #0b0b0c !important; } .p28 .sheet28 .cx-control > li p { color: #4d525a !important; }
.p28 .sheet28 .cx-control > li svg { background: #f1f1f2 !important; color: #0b0b0c; stroke: #0b0b0c; }
.p28 .sheet28 .gd-kind.is-read { background: #f1f1f2 !important; color: #4d525a !important; }
.p28 .sheet28 .gd-kind.is-change { background: #fff3c4 !important; color: #7a6100 !important; }
.p28 .sheet28 .gd-kind.is-start { background: #f3d94e !important; color: #08090a !important; }
.p28 .sheet28 .gd-card:not(.gd-card-dark) .gd-copy, .p28 .sheet28 .gd-card:not(.gd-card-dark) .gd-copy span { color: #4d525a !important; }
.p28 .sheet28 :is(.sp-contact, .sp-card) strong { color: #0b0b0c !important; }
/* the light behind the headline: fades to nothing before its edges, as wide as the sheet's column */
.p28 .hero::before, .p28 .p28-hero::before { width: min(1200px, 100vw); top: -84px; height: 600px;
  background: radial-gradient(closest-side, rgba(255,255,255,.075) 0%, rgba(255,255,255,.03) 55%, rgba(255,255,255,0) 100%); }
/* nav button as on the landing page: quiet outlined */
body.p28 .nav .btn { background: rgba(255,255,255,.04) !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1) !important; border-radius: 10px !important; }
body.p28 .nav .btn:hover { background: rgba(255,255,255,.08) !important; }
/* contrast (Lighthouse): small text on the light sheet needs >= 4.5:1 */
.p28 .sheet28 .legal-list > li > span { color: #8a6d00 !important; }
.p28 .sheet28 .cx-switch-bar > span { color: #565b63 !important; }

/* Translated legal pages: one quiet line under the title saying the English text prevails. */
.legal-note { margin-top: 14px; padding: 10px 14px; border-radius: 12px; border: 1px solid color-mix(in srgb, currentColor 14%, transparent); font-size: 14px; line-height: 1.5; opacity: .82; }
.legal-note a { color: inherit; text-underline-offset: 3px; }

/* Long words in translated titles (German "Datenschutzerklärung", Russian legal titles) hyphenate or
   break instead of pushing the page sideways on phones; segmented assistant switches wrap their labels. */
.legal-head h1 { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
@media (max-width: 480px) {
  .cx-seg { min-width: 0; white-space: normal; text-align: center; line-height: 1.2; }
  .cx-seg .cx-choice-text { min-width: 0; }
}
