/* Robot Automation — global readability layer
   Loaded after each page stylesheet to keep a consistent, accessible type scale. */
:root {
  --font-display: Inter, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
  --font-body: Inter, "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-label: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

html { font-size: 16px; }
body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, .brand-copy b, .brand strong {
  font-family: var(--font-display);
  text-wrap: balance;
}
p { text-wrap: pretty; }
button, input, select, textarea { font-family: var(--font-body); }
input, select, textarea { font-size: 16px; }

/* Public landing */
.site-header .brand-copy strong { font-size: 10px; line-height: 1.15; }
.site-header .brand-copy b { font-size: 17px; line-height: 1.05; }
.desktop-nav a { font-size: 14px; }
.account-trigger, .header-cta { font-size: 13px; }
.kicker, .eyebrow { font-family: var(--font-label); font-size: 12px; line-height: 1.45; }
.hero-copy { max-width: 590px; color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.7; }
.button, .text-link { font-size: 14px; }
.hero-side-note, .hero-trust p, .hero-trust li, .section-code, .status-pill { font-size: 11px; }
.trust-rail p, .trust-rail-track { font-size: 11px; }
.intro-detail p,
.section-heading > p,
.solutions-copy > p:not(.eyebrow),
.showroom-copy > p:not(.eyebrow),
.contact-heading > p:not(.eyebrow) { font-size: 16px; line-height: 1.75; }
.proof-lead > p:not(.eyebrow) { color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.75; }
.proof-card small, .proof-card > span { font-size: 11px; }
.proof-card p { color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.7; }
.card-top, .robot-card-content > p:first-child { font-size: 11px; }
.card-tagline { font-size: 14px; }
.card-description { color: #5e625d; font-size: 15px; line-height: 1.7; }
.robot-card-featured .card-description { color: rgba(255,255,255,.72); }
.robot-card li { font-size: 10px; line-height: 1.35; }
.robot-card button { font-size: 13px; }
.product-note { font-size: 11px; line-height: 1.65; }
.solution-item > span, .solution-item p { font-size: 11px; }
.solution-item small { font-size: 14px; line-height: 1.6; }
.method-track span { font-size: 11px; }
.method-track p { max-width: 240px; font-size: 15px; line-height: 1.7; }
.showroom-caption small, .showroom-copy li span { font-size: 11px; }
.showroom-copy li { font-size: 14px; }
.faq-heading > p:not(.eyebrow) { font-size: 16px; }
.faq summary { font-size: 17px; }
.faq summary span { font-size: 11px; }
.faq details p { color: #4f534e; font-size: 15px; line-height: 1.75; }
.contact-direct small { color: rgba(255,255,255,.66); font-size: 11px; }
.contact-direct a { font-size: 15px; }
.contact-direct strong { font-size: 18px; }
.contact-direct > span { color: rgba(255,255,255,.68); font-size: 13px; }
.contact-direct .whatsapp-link { font-size: 14px; }
.contact-direct .whatsapp-link small { font-size: 11px; }
.lead-form label > span { color: rgba(255,255,255,.7); font-size: 11px; line-height: 1.4; }
.lead-form input:not([type="checkbox"]), .lead-form select, .lead-form textarea { font-size: 16px; line-height: 1.5; }
.lead-form ::placeholder { color: rgba(255,255,255,.5); }
.lead-form .privacy span { font-family: var(--font-body); font-size: 12px; line-height: 1.55; }
.footer-top > p { color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.65; }
.footer-links a { font-size: 13px; }
.footer-bottom { font-size: 11px; }
.mobile-float-cta { font-size: 14px; }
.toast strong { font-size: 13px; }
.toast small { font-size: 12px; }
.auth-tabs button { font-size: 13px; }
.auth-intro > p:not(.eyebrow) { font-size: 14px; line-height: 1.65; }
.auth-form label > span { font-size: 11px; }
.auth-form input { font-size: 16px; }
.auth-form .auth-privacy span { font-family: var(--font-body); font-size: 12px; }
.auth-feedback { font-size: 13px; }

/* Customer area */
.portal-shell .brand-copy strong { font-size: 10px; line-height: 1.15; }
.portal-shell .brand-copy b { font-size: 15px; line-height: 1.05; }
.portal-label { color: rgba(255,255,255,.6); font-family: var(--font-label); font-size: 11px; }
.nav-item { color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.35; }
.nav-item b { font-family: var(--font-label); font-size: 10px; }
.sidebar-help small { font-family: var(--font-label); font-size: 10px; }
.sidebar-help p { color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.6; }
.sidebar-help a, .pending-contact { font-size: 12px; line-height: 1.35; }
.logout-button { color: rgba(255,255,255,.68); font-size: 12px; }
.portal-header small { color: #737772; font-family: var(--font-label); font-size: 10px; }
.portal-header p, .back-site { font-size: 12px; }
.loading-state { font-family: var(--font-label); font-size: 12px; }
.portal-view .eyebrow { font-size: 11px; }
.primary-button { font-size: 13px; }
.metrics-grid small { font-family: var(--font-label); font-size: 10px; }
.metrics-grid p { font-size: 13px; line-height: 1.5; }
.authorized-card > span { font-family: var(--font-label); font-size: 10px; }
.recent-card header button { font-size: 12px; }
.advisor-card > p:not(.eyebrow) { color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.65; }
.advisor-card a { font-size: 13px; line-height: 1.4; }
.advisor-card .advisor-contact small { color: rgba(255,255,255,.64); font-size: 11px; line-height: 1.45; }
.request-row small { font-family: var(--font-label); font-size: 10px; }
.request-row strong { font-size: 14px; }
.request-row time { font-family: var(--font-label); font-size: 10px; }
.request-status { font-family: var(--font-label); font-size: 10px; }
.panel-heading > div > p:not(.eyebrow) { font-size: 15px; line-height: 1.7; }
.empty-state h3 { font-size: 18px; }
.empty-state p { font-size: 14px; }
.empty-state button { font-size: 12px; }
.portal-form label > span { font-family: var(--font-label); font-size: 11px; line-height: 1.4; }
.portal-form input, .portal-form select, .portal-form textarea { font-size: 16px; line-height: 1.5; }
.form-actions > p { font-size: 13px; line-height: 1.6; }
.form-feedback { font-size: 13px; }
.portal-toast strong { font-size: 13px; }
.portal-toast small { font-size: 12px; }

/* Construction page */
.message .brand-copy small { color: rgba(255,255,255,.62); font-size: 11px; }
.message .brand-copy strong { font-size: 18px; }
.legal-data summary { color: rgba(255,255,255,.75); font-size: 11px; }
.legal-card > small { font-size: 11px; }
.legal-card > strong { font-size: 18px; }
.legal-card p { color: #525651; font-size: 14px; line-height: 1.65; }
.legal-card a { font-size: 13px; }
.message .eyebrow { font-size: clamp(12px,.8vw,14px); }
.message .intro { color: rgba(255,255,255,.78); }
.whatsapp-cta > span:nth-child(2) { font-size: 16px; }
.whatsapp-cta small { font-size: 12px; }
.status { font-size: 12px; }
.access-heading small, .access-form label > span { font-size: 11px; }
.access-heading p { color: rgba(255,255,255,.7); font-size: 15px; }
.access-form button, .access-feedback { font-size: 14px; }
.message footer { color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.55; }

/* Privacy / legal page */
.legal-header .brand small { font-size: 10px; }
.legal-header .brand strong { font-size: 16px; }
.legal-header .back { font-size: 13px; }
.legal-hero > p:first-child, .legal-hero small { font-size: 11px; }
.legal-hero .intro { font-size: 18px; }
.legal-notice { font-size: 15px; line-height: 1.7; }
.legal-grid aside a { font-size: 11px; line-height: 1.5; }
.legal-grid article section > span { font-size: 11px; }
.legal-grid article p { font-size: 16px; line-height: 1.8; }
.legal-grid article code { font-size: 13px; }
body > footer { font-size: 11px; line-height: 1.6; }

@media (max-width: 680px) {
  .hero-copy { max-width: 94%; font-size: 16px; }
  .kicker, .eyebrow { font-size: 11px; }
  .hero-trust li { font-size: 10px; }
  .intro-detail p,
  .section-heading > p,
  .solutions-copy > p:not(.eyebrow),
  .showroom-copy > p:not(.eyebrow),
  .contact-heading > p:not(.eyebrow) { font-size: 16px; }
  .card-description, .proof-card p, .method-track p, .faq details p { font-size: 15px; }
  .footer-top > p { font-size: 14px; }
  .portal-shell .portal-sidebar { width: min(88vw, 320px); }
  .portal-view { padding-right: 18px; padding-left: 18px; }
  .request-row { padding-right: 16px; padding-left: 16px; }
  .legal-hero .intro, .legal-grid article p { font-size: 16px; }
  .legal-grid aside a { font-size: 12px; }
  .message .intro { font-size: 18px; }
  .message footer { font-size: 11px; }
}
