/** Shared type scale. Loaded after legacy styles to keep every template consistent. */
:root {
  --siroc-font-body: "Open Sans", sans-serif;
  --siroc-font-heading: "Roboto", sans-serif;
  --siroc-text-small: .875rem;
  --siroc-text-base: 1rem;
  --siroc-text-lead: clamp(1.125rem, 1.04rem + .4vw, 1.375rem);
  --siroc-h1: clamp(2rem, 1.5rem + 2vw, 3rem);
  --siroc-h2: clamp(1.625rem, 1.4rem + .9vw, 2rem);
  --siroc-h3: clamp(1.375rem, 1.25rem + .5vw, 1.5rem);
  --siroc-h4: 1.25rem;
  --siroc-h5: 1.125rem;
  --siroc-h6: 1rem;
}
body { font-family: var(--siroc-font-body); font-size: var(--siroc-text-base); line-height: 1.65; }
/* Size overrides replace conflicting legacy ID selectors and editor font sizes. */
body :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--siroc-font-heading) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  overflow-wrap: break-word;
  margin-bottom: .75em;
}
body h1 { font-size: var(--siroc-h1) !important; line-height: 1.15 !important; }
body h2 { font-size: var(--siroc-h2) !important; }
body h3 { font-size: var(--siroc-h3) !important; }
body h4 { font-size: var(--siroc-h4) !important; }
body h5 { font-size: var(--siroc-h5) !important; }
body h6 { font-size: var(--siroc-h6) !important; }
body :is(h1, h2, h3, h4, h5, h6) :is(a, strong, b, span) {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit;
  font-family: inherit;
}
body :is(p, blockquote, .entry-content li, .contenido li, .content li, .justify) {
  font-size: var(--siroc-text-base) !important;
  line-height: 1.65 !important;
}
body :is(.entry-content, .contenido) :is(h2, h3, h4, h5, h6) { margin-top: 1.5em; }
/* Hero subtitles describe the page; section headings use the larger h2 scale. */
body :is(#hero, #hero-blog, #hero-singleblog, #hero-nosotros, #hero-cotizador) h2,
body .siroc-home #hero .home-hero-description {
  font-size: var(--siroc-text-lead) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}
/* Default page content can live inside #hero-nosotros: preserve its hierarchy. */
body #hero-nosotros article h2 { font-size: var(--siroc-h2) !important; font-weight: 600 !important; line-height: 1.25 !important; }
body :is(#blogs, #single) .entrada h2,
body .carousel-viewport h3,
body .services .icon-box h4 {
  font-size: var(--siroc-h4) !important;
  line-height: 1.35 !important;
}
body :is(#blogs, #single) .entrada { height: auto; min-height: 0; }
body :is(.nav-menu a, .mobile-nav a, .get-started-btn, .btn-get-started, .home-hero-actions a, button, input, select, textarea, label) {
  font-size: var(--siroc-text-base) !important;
  line-height: 1.4 !important;
}
body :is(small, figcaption p, .siroc-breadcrumbs, #blog_header, #footer p, #footer li, #footer .copyright, .entry-meta, .entry-footer) {
  font-size: var(--siroc-text-small) !important;
  line-height: 1.6 !important;
}
body #footer h4 { font-size: var(--siroc-h6) !important; }
body .siroc-breadcrumbs :is(a, span) { font-size: inherit; line-height: inherit; }
body :is(.entry-content, #contenido_blog .contenido, #contenido_blog .sidebar, .section-title p) {
  font-size: var(--siroc-text-base) !important;
  line-height: 1.65 !important;
}
/* Keep navigation readable without squeezing the brand at tablet widths. */
#header .logo { flex-shrink: 0; }
#header .logo img { width: auto; }
@media (min-width: 992px) and (max-width: 1199px) {
  #header .nav-menu > ul > li { padding-left: 14px; }
  #header .nav-menu a { letter-spacing: 0; }
  #header .get-started-btn { margin-left: 16px; padding-left: 14px; padding-right: 14px; }
}
