/* SiFactura Global homepage. The country and solution pages keep their own styles. */
html { scroll-padding-top: 90px; }
body.global-home {
  --ink: #191d2d;
  --ink-soft: #4c5262;
  --muted: #6a7080;
  --brand: #4658bd;
  --brand-deep: #364899;
  --cyan: #6876d3;
  --canvas: #fafaf8;
  --soft: #f3f2f5;
  --line: #e4e3e9;
  --shadow: 0 18px 44px rgba(35, 39, 71, .07);
  padding-top: 74px;
  background: var(--canvas);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.58;
  font-synthesis: none;
}
.global-home .shell { width: min(1192px, calc(100% - 64px)); }
.global-home h1, .global-home h2, .global-home h3 { color: var(--ink); letter-spacing: -.035em; }
.global-home h2 { font-size: clamp(2.45rem, 4.45vw, 4.15rem); font-weight: 680; line-height: 1.08; }
.global-home h3 { font-weight: 670; }
.global-home p { color: var(--ink-soft); }
.global-home :focus-visible { outline-color: #6876d3; }

/* An opaque, fixed-height header avoids sticky/backdrop repaint jitter on scroll. */
.global-home .site-header {
  position: fixed;
  inset: 0 0 auto;
  height: 74px;
  z-index: 100;
  border-bottom: 1px solid var(--line);
  background: #fafaf8;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.global-home .nav-shell { height: 100%; min-height: 0; gap: 22px; }
.global-home .brand img { width: 180px; }
.global-home .main-nav { gap: clamp(13px, 1.8vw, 25px); font-size: .81rem; font-weight: 620; }
.global-home .nav-solutions-toggle { color: var(--ink); }
.global-home .main-nav > a:not(.button):hover,
.global-home .nav-solutions-toggle:hover,
.global-home .nav-solutions-toggle[aria-expanded="true"] { color: var(--brand-deep); }
.global-home .solutions-menu {
  max-height: calc(100vh - 74px);
  border-color: var(--line);
  border-radius: 0 0 16px 16px;
  background: #fdfdfb;
  box-shadow: 0 25px 60px rgba(28, 31, 56, .12);
}
.global-home .solutions-menu-group { --menu-accent: #3d4d9b; --menu-tint: #f4f4f9; border-color: #e6e6ee; }
.global-home .solutions-menu-group.tone-indigo { --menu-accent: #4053a6; --menu-tint: #f3f4fb; }
.global-home .solutions-menu-group.tone-violet { --menu-accent: #685a9e; --menu-tint: #f6f3f9; }
.global-home .solutions-menu-group.tone-mint { --menu-accent: #505d91; --menu-tint: #f2f4f7; }
.global-home .solutions-menu-group.tone-sky { --menu-accent: #4b6b9b; --menu-tint: #f1f5f8; }
.global-home .solutions-menu-group.tone-cyan { --menu-accent: #5263a6; --menu-tint: #f3f5f9; }
.global-home .solution-link-icon { background: #fdfdfb; }
.global-home .country-toggle { height: 39px; border-color: var(--line); border-radius: 9px; background: #fdfdfb; color: var(--ink); }
.global-home .country-toggle:hover,
.global-home .country-toggle[aria-expanded="true"] { border-color: #a6add3; background: #f2f2f8; }
.global-home .country-options { border-color: var(--line); background: #fdfdfb; box-shadow: 0 18px 44px rgba(28, 31, 56, .13); }
.global-home .country-option:hover,
.global-home .country-option[aria-current="page"] { background: #eeeeF7; color: var(--brand-deep); }

/* Type, buttons and the first impression follow ClinicWeb's quieter rhythm. */
.global-home .eyebrow { color: var(--brand-deep); font-size: .7rem; font-weight: 750; letter-spacing: .13em; }
.global-home .eyebrow-pill { border-color: #e2e2f0; padding: 9px 15px; background: #f4f3fa; }
.global-home .button { min-height: 51px; border-radius: 10px; box-shadow: none; font-size: .89rem; font-weight: 670; transition: background .18s, border-color .18s, color .18s; }
.global-home .button:hover { transform: none; }
.global-home .button-primary { background: #303b77; color: #fff; }
.global-home .button-primary:hover { background: #252f64; }
.global-home .button-outline { border-color: #d8d9e4; background: #fdfdfb; color: var(--ink); }
.global-home .button-outline:hover { border-color: #aab1d2; background: #f4f4f8; }
.global-home .text-link { color: var(--brand-deep); }
.global-home .home-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(ellipse 65% 30% at 50% 94%, rgba(116, 114, 171, .10), transparent 75%), #fafaf8;
}
.global-home .home-hero-grid { display: block; width: min(1360px, calc(100% - 64px)); min-height: 0; max-width: none; padding-block: 92px 100px; text-align: center; }
.global-home .home-hero-copy { max-width: 1080px; margin-inline: auto; }
.global-home .home-hero-copy h1 {
  max-width: 1080px;
  margin: 27px auto 24px;
  color: #171b2b;
  font-size: clamp(2.7rem, 5vw, 4.3rem);
  font-weight: 720;
  letter-spacing: -.048em;
  line-height: 1.055;
  text-wrap: balance;
}
.global-home .home-hero-copy h1 span { color: #626588; }
.global-home .home-hero-copy .hero-lead {
  max-width: 760px;
  margin: 0 auto;
  color: #555b6b;
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  line-height: 1.65;
}
.global-home .home-hero-copy .actions { justify-content: center; gap: 14px; margin-top: 30px; }
.global-home .hero-footnote { margin-top: 27px; color: #797b88; font-size: .78rem; font-weight: 560; letter-spacing: .01em; }
.global-home .hero-image {
  position: relative;
  max-width: 1320px;
  margin: 68px auto 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.global-home .hero-image picture { display: block; }
.global-home .hero-image img { width: 100%; height: auto; }
.global-home .capability-strip { border-bottom: 1px solid var(--line); border-top: 0; background: #f6f5f5; }
.global-home .capability-strip .shell { justify-content: center; gap: 12px 30px; padding-block: 20px; color: #727584; font-size: .71rem; font-weight: 620; }
.global-home .capability-strip span + span::before { content: "·"; margin-right: 28px; color: #a8a8b5; }

/* Light, editorial sections and understated cards. */
.global-home .section { padding-block: 104px; }
.global-home .section-soft { background: #f4f3f5; }
.global-home .section-heading { max-width: 780px; margin-bottom: 40px; }
.global-home .section-heading h2 { margin-bottom: 19px; }
.global-home .section-heading p:last-child { max-width: 670px; color: var(--muted); font-size: 1.03rem; line-height: 1.68; }
.global-home .country-grid { gap: 16px; }
.global-home .country-card,
.global-home .pillar,
.global-home .topic-card,
.global-home .journey,
.global-home .contact-panel {
  border-color: var(--line);
  border-radius: 16px;
  background: #fdfdfb;
  box-shadow: none;
}
.global-home .country-card { min-height: 225px; padding: 26px; }
.global-home .country-card:hover,
.global-home .topic-card:hover { transform: translateY(-2px); border-color: #adb5d6; box-shadow: 0 14px 30px rgba(35, 39, 71, .06); }
.global-home .country-card > span,
.global-home .card-eyebrow { color: var(--brand-deep); font-size: .68rem; font-weight: 760; }
.global-home .country-card strong { color: var(--ink); font-size: 1.75rem; font-weight: 680; }
.global-home .country-card small { color: var(--muted); }
.global-home .country-card b { color: var(--brand-deep); font-size: .85rem; }
.global-home .pillar { padding: 29px 27px; }
.global-home .pillar-number { margin-bottom: 38px; border: 1px solid #dedff0; border-radius: 9px; background: #f0eff8; color: #4a559d; }
.global-home .pillar p { min-height: 104px; color: var(--muted); }
.global-home .pillar .text-link { font-size: .88rem; }
.global-home .topic-card { min-height: 225px; padding: 26px 26px 45px; }
.global-home .topic-card h3 { margin-top: 16px; }
.global-home .topic-card p { color: var(--muted); }
.global-home .card-arrow { color: var(--brand-deep); }

/* Product visuals use the same pale surfaces as the reference design. */
.global-home .home-stock { background: #fafaf8; }
.global-home .spotlight-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.68; }
.global-home .stock-flow {
  border-color: #e1e1ec;
  border-radius: 18px;
  background: #f6f6fa;
  box-shadow: 0 18px 42px rgba(35, 39, 71, .06);
}
.global-home .stock-flow .board-label { color: #4a559d; }
.global-home .stock-flow-row { border-color: #e7e6ee; border-radius: 11px; background: #fdfdfb; }
.global-home .stock-flow-icon { border-radius: 9px; background: #ebebf7; color: #465398; }
.global-home .stock-flow-result { border-radius: 10px; background: #333d73; }
.global-home .stock-flow-result span { color: #d6dcff; }
.global-home .home-dashboard { background: #f4f3f5; }
.global-home .dashboard-board {
  border-color: #e1e2ec;
  border-radius: 18px;
  background: #fdfdfb;
  color: var(--ink);
  box-shadow: 0 18px 42px rgba(35, 39, 71, .06);
}
.global-home .dashboard-board-head span { color: #686f8d; }
.global-home .dashboard-preview-kpis span { border-color: #e6e6ef; border-radius: 10px; background: #f7f7fa; color: var(--ink); }
.global-home .dashboard-preview-kpis span::after,
.global-home .dashboard-preview-kpis span:nth-child(n)::after { background: #7778b6; }
.global-home .dashboard-preview-details span { border-color: #e6e6ef; background: #f8f8fa; color: #5b6176; }
.global-home .dashboard-board p { color: var(--muted); }
.global-home .journey { border-color: var(--line); border-radius: 16px; }
.global-home .journey li + li { border-color: var(--line); }
.global-home .journey li > span { border-radius: 9px; background: #eeeeF7; color: #45529b; }
.global-home .journey p { color: var(--muted); }

/* Country comparison, FAQ and footer stay legible without the former bright blues. */
.global-home #precios { background: #f4f3f5; }
.global-home .plan-comparison { background: #fafaf8; }
.global-home .comparison-scroll { border-color: var(--line); border-radius: 16px; }
.global-home .comparison-table th,
.global-home .comparison-table td { border-bottom-color: #ecebf0; }
.global-home .comparison-table thead th,
.global-home .comparison-table tbody .comparison-group th,
.global-home .comparison-table tbody .comparison-group td { background: #f3f2f6; }
.global-home .comparison-table thead .comparison-featured,
.global-home .comparison-table tbody td:nth-child(3) { background: #f7f6fb; color: var(--ink); }
.global-home .comparison-table tbody .comparison-group th,
.global-home .comparison-table tbody .comparison-group td { border-top-color: var(--line); }
.global-home .comparison-check { color: #465398; }
.global-home .faq-list,
.global-home .faq-list details { border-color: #d9d8e1; }
.global-home .contact-section { background: #fafaf8; }
.global-home .contact-panel { box-shadow: none; }
.global-home .site-footer { border-top: 1px solid var(--line); background: #f2f1f2; color: var(--ink); }
.global-home .footer-brand img { padding: 0; background: transparent; }
.global-home .footer-brand p,
.global-home .footer-links a { color: #646979; }
.global-home .footer-brand a:last-child { color: var(--brand-deep); }
.global-home .footer-links h3 { color: var(--ink); }
.global-home .footer-links a:hover,
.global-home .footer-bottom a:hover { color: var(--brand-deep); }
.global-home .footer-bottom { border-top-color: #dedde4; color: #797b88; }

@media (max-width: 1100px) {
  html { scroll-padding-top: 84px; }
  body.global-home { padding-top: 68px; }
  .global-home .site-header { height: 68px; }
  .global-home .main-nav {
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    max-height: calc(100dvh - 68px);
    overflow-y: auto;
    border-color: var(--line);
    background: #fafaf8;
  }
  .global-home .solutions-menu { max-height: none; }
  .global-home .menu-toggle { margin-left: 0; }
}
@media (max-width: 900px) {
  .global-home .home-hero-grid { padding-block: 78px 86px; }
  .global-home .hero-image { max-width: 760px; margin-top: 60px; }
  .global-home .section { padding-block: 84px; }
}
@media (max-width: 650px) {
  html { scroll-padding-top: 80px; }
  .global-home .shell { width: min(100% - 36px, 1192px); }
  .global-home .brand img { width: 155px; }
  .global-home .home-hero-grid { padding-block: 66px 73px; }
  .global-home .home-hero-copy h1 { margin-block: 25px 22px; font-size: clamp(2.2rem, 8.7vw, 3.1rem); line-height: 1.065; }
  .global-home .home-hero-copy h1 br { display: none; }
  .global-home .home-hero-copy .hero-lead { font-size: 1rem; line-height: 1.64; }
  .global-home .home-hero-copy .actions { gap: 10px; margin-top: 27px; }
  .global-home .hero-footnote { margin-top: 22px; }
  .global-home .hero-image { margin-top: 46px; border-radius: 0; box-shadow: none; }
  .global-home .capability-strip .shell { justify-content: flex-start; gap: 7px 16px; font-size: .7rem; }
  .global-home .capability-strip span + span::before { margin-right: 15px; }
  .global-home .section { padding-block: 70px; }
  .global-home .section-heading { margin-bottom: 30px; }
  .global-home h2 { font-size: clamp(2.2rem, 9.7vw, 3rem); }
  .global-home .pillar p { min-height: 0; }
  .global-home .dashboard-board { padding: 20px; }
  .global-home .comparison-scroll { margin-inline: -18px; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .global-home .country-card,
  .global-home .topic-card,
  .global-home .button { transition: none; }
}
