/* FotFi v40: Stripe-style typography applied to the KiraPas design. */
:root { --ff-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
html, body, body.public-view, body.workspace-view, button, input, select, textarea,
#page-home .kp91-hero { font-family:var(--ff-font)!important; }
/* All public and dashboard copy; descriptive text stays readable at 16px. */
body { font-size:16px!important; line-height:1.6; }
#page-home .kp91-subtitle,
#page-home :is(.ff-section,.ff-faq) p,
main>section:not(#page-home) :is(.page-heading,.workspace-heading,.dashboard-top) p,
main>section:not(#page-home) :is(.panel,.start-card,.form-section,.room-main,.verification-card) > p {
  font-size:16px!important; line-height:1.7!important;
}
/* User-requested heading hierarchy across sections, workspace and dialogs. */
body main h1, body #page-home .kp91-title { font:800 48px/1.15 var(--ff-font)!important; letter-spacing:-.045em!important; }
body main h2, body dialog:not(#menuDialog) h2, html body.public-view #page-home .ff-section-heading h2, html body.public-view #page-home .ff-cost h2 { font:700 30px/1.25 var(--ff-font)!important; letter-spacing:-.035em!important; }
body main h3, body dialog:not(#menuDialog) h3 { font:700 18px/1.35 var(--ff-font)!important; letter-spacing:-.02em!important; }
/* These headings are labels inside compact widgets and legal footer, not page headings. */
body .site-footer .footer-company-details h2 {font-size:12px!important;line-height:1.4!important;letter-spacing:.04em!important;}
body #page-home .kp91-file h3 {font-size:18px!important;line-height:1.35!important;}
body main .create-aside h2,body main .overview-stat h2 {font-size:18px!important;line-height:1.35!important;}
/* 14px buttons and navigation, retaining icon-only and modal-close icon dimensions. */
body button:not(.icon-button):not(.kp-menu-close):not(.ff-early-x),
body .kp91-button,body .landing-nav button,body .kp_nav_primary li>button,
body .footer-links button,body .footer-links a,
body .workspace-nav button,body a.primary,body a.secondary {
  font-family:var(--ff-font)!important;font-size:14px!important;
}
body #menuDialog .kp_mobile_signup,body #menuDialog .kp_mobile_login,body #page-home .kp91-button,
body .site-header .header-create,body .site-header .account-button {font-size:14px!important;}
/* Shared compact horizontal logo: the actual shield's ratio is preserved. */
body .ff-brand-logo.ff-compact-logo,
body .site-header .ff-brand-logo.ff-compact-logo,
body .site-footer .ff-brand-logo.ff-compact-logo,
body #menuDialog .ff-brand-logo.ff-compact-logo,
body .workspace-brand .ff-brand-logo.ff-compact-logo,
body dialog .ff-brand-logo.ff-compact-logo {
  width:auto!important;min-width:0!important;max-width:none!important;
  height:32px!important;min-height:32px!important;max-height:32px!important;
  display:inline-flex!important;align-items:center!important;gap:0!important;
  overflow:visible!important;flex:none!important;line-height:1!important;vertical-align:middle!important;
}
body .ff-compact-logo .ff-logo-shield {display:none!important;}
body .ff-compact-logo .ff-logo-type {
  font:800 27px/1 var(--ff-font)!important;letter-spacing:-.055em!important;
  white-space:nowrap!important;color:#0f2d5b!important;
}
body .ff-compact-logo .ff-logo-type span {color:#2563eb!important;}
/* Header and menu heights remain proportionate to the 32px desktop mark. */
body .site-header .header-row,body.public-view .site-header .header-row {
  height:72px!important;min-height:72px!important;
}
body #menuDialog .kp-menu-heading {height:72px!important;min-height:72px!important;}
body .site-header .brand,body .kp-menu-brand,body .workspace-brand,body .dialog-brand {
  min-height:32px!important;align-items:center!important;
}
@media (max-width:768px) {
  body main h1,body #page-home .kp91-title {font-size:36px!important;line-height:1.15!important;}
  body main h2,body dialog:not(#menuDialog) h2, html body.public-view #page-home .ff-section-heading h2, html body.public-view #page-home .ff-cost h2 {font-size:24px!important;line-height:1.26!important;}
  body main h3,body dialog:not(#menuDialog) h3 {font-size:18px!important;line-height:1.35!important;}
  body .ff-brand-logo.ff-compact-logo,body .site-header .ff-brand-logo.ff-compact-logo,
  body .site-footer .ff-brand-logo.ff-compact-logo,body #menuDialog .ff-brand-logo.ff-compact-logo,
  body .workspace-brand .ff-brand-logo.ff-compact-logo,body dialog .ff-brand-logo.ff-compact-logo {
    width:auto!important;min-width:0!important;max-width:none!important;
    height:28px!important;min-height:28px!important;max-height:28px!important;gap:0!important;
  }
  body .ff-compact-logo .ff-logo-shield {display:none!important;}
  body .ff-compact-logo .ff-logo-type {font-size:23px!important;color:#0f2d5b!important;}
  body .site-header .header-row,body.public-view .site-header .header-row {
    height:62px!important;min-height:62px!important;
  }
  body #menuDialog .kp-menu-heading {height:62px!important;min-height:62px!important;}
  body .site-header .brand,body .kp-menu-brand,body .workspace-brand,body .dialog-brand {min-height:28px!important;}
  body #page-home .kp91-hero {padding-top:28px!important;}
  body .site-header .header-actions {gap:8px!important;}
}
