/* Sayloe website type roles. See docs/WEBSITE-TYPOGRAPHY.md. Product-window UI is intentionally separate. */
:root {
  --font-web: Montserrat, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-product: Montserrat, system-ui, sans-serif;
  --weight-heading: 600;
  --weight-body: 400;
  --weight-ui: 500;
  --weight-emphasis: 600;
  --type-display: clamp(2.75rem, 4.8vw, 4.375rem);
  --type-page-title: clamp(2.125rem, 4.4vw, 3.375rem);
  --type-section: clamp(2.375rem, 4.1vw, 3.5rem);
  --type-article-heading: 1.8125rem;
  --type-card-title: 1.5625rem;
  --type-lead: 1.1875rem;
  --type-body: 1rem;
  --type-reading: 1.0625rem;
  --type-secondary: .875rem;
  --type-control: .875rem;
  --type-navigation: 1rem;
  --type-action: 1rem;
  --type-caption: .75rem;
  --type-price: 3.625rem;
  --type-old-price: 1.5rem;
  --type-language: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
  --type-demo: clamp(1.75rem, 1.125rem + 1.7vw, 3rem);
  --type-example-source: 1.25rem;
  --type-example-result: 1.75rem;
  --leading-display: 1.07;
  --leading-title: 1.2;
  --leading-body: 1.65;
  --leading-reading: 1.9;
  --leading-control: 1.5;
  --leading-secondary: 1.5;
}
@media (min-width:721px) and (max-width:1100px) {
  :root { --type-display: 3.375rem; }
}
@media (max-width:800px) {
  :root {
    --type-display: clamp(2.5rem,7.3vw,3.875rem);
    --type-page-title: 2.125rem;
    --type-section: 2rem;
    --type-article-heading: 1.8125rem;
    --type-reading: 1rem;
    --type-lead: 1.0625rem;
    --type-price: 3.625rem;
    --type-demo: 1.875rem;
    --type-example-source: 1.25rem;
    --type-example-result: 1.5rem;
  }
}
@media (max-width:480px) {
  :root { --type-display: 2.625rem; --type-page-title: 2.125rem; --type-card-title: 1.5625rem; --type-demo: 1.75rem; --type-section: 2.25rem; }
}
@media (max-width:360px) {
  :root { --type-display: 2.25rem; --type-section: 2rem; }
}
/* Display headlines and their invisible mode-sizing counterparts always share geometry. */
body.split-home .split-hero .split-intro {
  --intro-size: var(--type-display);
  --intro-leading: var(--leading-display);
  --intro-tracking: -.022em;
}
body.split-home .split-closing h2 {
  font-size: var(--type-display); line-height: var(--leading-display); letter-spacing: -.022em;
}
body.split-home .split-hero .split-intro:is(:lang(ar), :lang(hi), :lang(th)) {
  --intro-leading: 1.45; --intro-tracking: 0;
}
/* Page titles, marketing section titles, content headings, and compact card titles are distinct roles. */
body.site-refresh :is(.guide-heading, .article-page) > h1,
body.site-refresh.speech-tool-page .tool-intro h1,
body.site-refresh.legal-page h1 {
  font-size: var(--type-page-title); line-height: var(--leading-title); letter-spacing: -.022em;
}
body.split-home .split-section h2 { font-size: var(--type-section); line-height: var(--leading-title); }
body.site-refresh :is(.guide-content, .article-page) h2,
body.site-refresh.legal-page main h2 {
  font-size: var(--type-article-heading); line-height: 1.3;
}
body.split-home .split-tier-top > h3,
body.site-refresh .guide-list h2,
body.site-refresh :is(.guide-content, .article-page) h3,
body.site-refresh .guide-cta h2,
body.site-refresh.speech-tool-page :is(.tool-app-card, .tool-privacy, .tool-mac) h2,
body.site-refresh.legal-page main h3 {
  font-size: var(--type-card-title); line-height: 1.35;
}
/* Body copy is never reduced to caption sizes on narrow screens. */
body.split-home, body.site-refresh { font-size: var(--type-body); }
body.split-home .split-intro :is(#split-hero-description, .split-sizing-description),
body.site-refresh.speech-tool-page .tool-intro > p:not(.tool-eyebrow),
body.site-refresh .guide-index .guide-heading > p:not(.eyebrow, .guide-meta) {
  font-size: var(--type-lead); line-height: var(--leading-body);
}
body.split-home :is(.split-wall-head > p, .split-facts summary, .split-facts details > p, .split-facts details > a),
body.split-home .split-tier li > strong,
body.site-refresh .guide-list p,
body.site-refresh.speech-tool-page :is(.tool-details, .tool-privacy, .tool-app-card li, .tool-mac p) {
  font-size: var(--type-body); line-height: var(--leading-body);
}
body.site-refresh :is(.guide-content, .article-page), body.site-refresh.legal-page main {
  font-size: var(--type-reading); line-height: var(--leading-reading);
}
/* Descriptions, compatibility, metadata and footer links. */
body.split-home :is(.split-tier li > span, .split-tier-pricing > p > span, .split-tier-old > span,
  .split-tier-footer > p, .split-language-note, .split-compatibility, .split-closing-main > div > p,
  .split-footer-top > div > p, .split-footer-links, .split-hero-meta),
body.site-refresh :is(.guide-meta, .guide-breadcrumbs, .guide-toc, .guide-toc nav ul ul,
  .guide-source-note, .guide-cta p, .guide-video figcaption),
body.site-refresh.speech-tool-page :is(.tool-app-system, #tool-status, .tool-notice,
  .tool-allowance, .tool-session, .tool-editor-heading span),
body.site-refresh.content-page > footer, body.site-refresh .guide-footer,
body.site-refresh.speech-tool-page .tool-footer, body.site-refresh.legal-page :is(.date, footer) {
  font-size: var(--type-secondary); line-height: var(--leading-secondary);
}
body.split-home .split-footer-links a,
body.site-refresh :is(.guide-footer, .tool-footer) a { font-size: var(--type-secondary); }
body.split-home .split-footer-bottom > small { font-size: var(--type-caption); line-height: var(--leading-secondary); }
/* Labels and captions use a small, explicit set, never arbitrary 9/10/11px body copy. */
body.split-home :is(.split-eyebrow, .split-sizing-eyebrow, .split-tier-badge),
body.site-refresh :is(.eyebrow, .tool-app-eyebrow, .tool-free-badge),
body.site-refresh.speech-tool-page .tool-intro .tool-eyebrow {
  font-size: var(--type-caption); line-height: var(--leading-secondary);
}
body.split-home .split-tier h4,
body.split-home .split-tier h4 > span {
  font-size: var(--type-control); line-height: var(--leading-control);
}
/* Navigation, menus and scene/language controls. Preserve all icon sizes. */
body.split-home :is(.split-main-nav, .locale-picker, .locale-directory a),
body.site-refresh :is(.nav nav, .nav nav > a, .guide-nav-link),
body.site-refresh .locale-picker > summary, body.site-refresh .locale-directory > a,
body.split-home .split-hero[data-mode] .split-mode-switch > button,
body.split-home .split-hero .split-controls :is(button, a),
body.split-home .split-next, body.split-home .split-wall-heading .split-next,
body.site-refresh.speech-tool-page .tool-session button {
  font-size: var(--type-control) !important; line-height: var(--leading-control);
}
body.split-home .split-trigger { font-size: var(--type-control) !important; }
body.split-home :is(.split-stage-heading, .split-target-heading, .split-wall-heading, .split-stage-status) {
  font-size: var(--type-caption); line-height: var(--leading-secondary);
}
body.split-home [data-split-download], body.split-home .split-tier-footer > .split-btn,
body.site-refresh a[data-download], body.site-refresh .button,
body.site-refresh.speech-tool-page :is(.tool-header .button.small, .tool-header-actions button, .tool-primary, .tool-secondary, .tool-quiet) {
  font-size: var(--type-action) !important; line-height: var(--leading-control);
}
/* Pricing and the language wall have dedicated display roles. */
body.split-home .split-tier-pricing > p > bdi { font-size: var(--type-price); line-height: 1.15; }
body.split-home .split-tier-old del { font-size: var(--type-old-price); line-height: 1.3; }
body.split-home .split-tier-offer { font-size: var(--type-card-title); line-height: 1.25; }
body.split-home .split-language-wall button { font-size: var(--type-language); line-height: 1.3; }
/* Website-stage text is distinct from the smaller native application windows and news-page illustrations. */
body.split-home .split-hero .split-source-line > p,
body.split-home .split-hero .split-result { font-size: var(--type-demo); line-height: 1.35; }
body.split-home .split-wall-source > p { font-size: var(--type-example-source); line-height: 1.5; }
body.split-home .split-wall-target > p { font-size: var(--type-example-result); line-height: 1.4; }
body.site-refresh.speech-tool-page :is(.tool-editor textarea, .tool-live-transcript) {
  font-size: var(--type-lead); line-height: var(--leading-reading);
}
/* Extra vertical room for scripts with taller marks; font families remain unchanged. */
body.site-refresh :is(.guide-heading, .article-page, .tool-intro, main):is(:lang(ar), :lang(hi), :lang(th)) > h1 {
  line-height: 1.45; letter-spacing: 0;
}
body.split-home :is(.split-section, .split-closing) h2:is(:lang(ar), :lang(hi), :lang(th)),
body.site-refresh :is(.guide-content, .article-page, main) :is(h2, h3):is(:lang(ar), :lang(hi), :lang(th)) {
  line-height: 1.45; letter-spacing: 0;
}
/* Let translated navigation wrap at its shared size rather than shrinking its type. */
body.split-home .split-main-nav { flex: 1 1 0; min-width: 0; }
body.split-home .split-main-nav a { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
@media (max-width:480px) {
  /* Reserve the same label lines across the three scenes at the larger readable caption size. */
  body.split-home .split-hero[data-mode] .split-stage-heading {
    min-height: calc(var(--type-caption) * var(--leading-secondary) * 2);
  }
  body.split-home .split-hero[data-mode] .split-target-heading {
    min-height: calc(var(--type-caption) * var(--leading-secondary) * 3);
  }
}

/* Linear-inspired texture: regular body, medium headings, quieter controls. */
body.split-home, body.site-refresh {
  font-family: var(--font-web); font-weight: var(--weight-body);
  font-optical-sizing: auto; line-height: var(--leading-body);
}
body.split-home .split-intro :is(#split-title, .split-sizing-title),
body.split-home :is(.split-section h2, .split-closing h2, .split-tier-top > h3),
body.site-refresh :is(.guide-heading, .article-page) > h1,
body.site-refresh :is(.guide-content, .article-page, .guide-list, .guide-cta) :is(h2, h3),
body.site-refresh.speech-tool-page :is(.tool-intro h1, .tool-app-card h2, .tool-privacy h2, .tool-mac h2),
body.site-refresh.legal-page :is(h1, h2, h3) {
  font-weight: var(--weight-heading);
}
body.split-home .split-intro :is(.split-eyebrow, .split-sizing-eyebrow),
body.split-home :is(.split-main-nav, .split-tier-badge, .split-tier h4),
body.site-refresh :is(.eyebrow, .guide-toc a, .guide-nav-link, .tool-app-eyebrow) {
  font-family: var(--font-web); font-weight: var(--weight-ui);
}
body.split-home .split-intro :is(.split-eyebrow, .split-sizing-eyebrow),
body.site-refresh :is(.eyebrow, .tool-app-eyebrow) { letter-spacing: .06em; }
body.split-home .split-hero[data-mode] .split-mode-switch > button,
body.split-home .split-controls :is(button, a),
body.split-home [data-split-download], body.split-home .split-next,
body.split-home .split-trigger,
body.site-refresh :is(button, select, textarea, .button, a[data-download]) {
  font-family: var(--font-web); font-weight: var(--weight-ui);
}
body.split-home .split-hero[data-mode] .split-mode-switch > button[aria-pressed=true] {
  font-weight: var(--weight-emphasis);
}
body.split-home .split-tier li > strong,
body.split-home .split-tier h4 > span,
body.site-refresh :is(.guide-content, .article-page, .tool-details, .tool-privacy) :is(strong, b):not(.product-scene *, .product-panel *, .product-voice-panel *) {
  font-weight: var(--weight-emphasis);
}
body.split-home .split-tier-pricing > p > bdi,
body.split-home .split-tier-old del,
body.split-home .split-tier-offer,
body.split-home .split-language-wall button { font-weight: var(--weight-heading); }
body.split-home .split-hero .split-source-line > p,
body.split-home .split-hero .split-result,
body.split-home :is(.split-wall-source > p, .split-wall-target > p) { font-weight: 450; letter-spacing: -.022em; }
body.site-refresh :is(.guide-content, .article-page) { letter-spacing: -.01em; }
/* Preserve the approved brand and all simulated native application typography. */
body.split-home :is(.split-brand, .split-reading-scene, .split-news-popup),
body.site-refresh :is(.brand, .product-scene, .product-panel, .product-voice-panel) {
  font-family: var(--font-product);
}

body.split-home .split-trigger { font-weight: var(--weight-ui) !important; }
body.split-home :is(.split-brand, .split-reading-scene, .split-news-popup, .shortcut-mark) {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
body.site-refresh .shortcut-mark { font-family: var(--font-product); }
body.split-home .split-section h2,
body.split-home .split-tier-top > h3,
body.split-home .split-language-wall button,
body.site-refresh .guide-list h2,
body.site-refresh.speech-tool-page :is(.tool-app-card, .tool-privacy, .tool-mac) h2 {
  letter-spacing: -.022em;
}
body.split-home .split-tier-pricing > p > bdi { letter-spacing: -.03em; }
/* Roles restored from the owner's previous Sayloe preview, rather than Linear. */
body.split-home .split-hero .split-intro { --intro-tracking: -.043em; }
body.split-home .split-intro :is(#split-title,.split-sizing-title) { font-weight: 650; }
body.split-home .split-intro :is(#split-hero-description,.split-sizing-description) { line-height: 1.8; }
body.split-home .split-header :is(.split-main-nav,.split-main-nav>a,.locale-picker>summary),
body.split-home .split-header .split-nav-actions>[data-split-download] {
  font-family: var(--font-web); font-size: var(--type-navigation) !important; line-height: 1.5;
  font-weight: 500; letter-spacing: 0;
}
body.split-home .split-header .locale-picker>summary { font-weight: 400; }
body.split-home .split-header .split-nav-actions>[data-split-download] { font-weight: 600; }
body.split-home .split-hero-download>[data-split-download],
body.split-home .split-tier-footer>.split-btn,
body.split-home .split-closing [data-split-download] { font-weight: 600; }
body.split-home .split-tier-top>h3 { font-weight: 550; }
body.split-home .split-tier-pricing>p>bdi { font-weight: 650; }
body.site-refresh :is(.guide-content,.article-page) h3 { font-size: 1.375rem; }

body.split-home .split-header .split-nav-toggle { font-family:var(--font-web);font-size:var(--type-navigation);line-height:1.5;font-weight:500; }
