/* Everest: stronger brand contrast, deliberate spacing and clear commercial actions. */
.header { border-bottom-color: #d9dee2; }
.header-inner { min-height: 82px; }
.button { transition: background .2s, border-color .2s, box-shadow .2s; }
.button.blue { box-shadow: 0 7px 20px #4bc4ec16; }
.button.blue:hover { background: #7ed7f2; border-color: #7ed7f2; box-shadow: 0 7px 24px #4bc4ec35; }
.home .hero, .service-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(ellipse at 95% 0%, #29454e 0, transparent 60%), #1a1918;
}
.home .hero { padding: 64px 0; }
.home .hero::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(125deg, transparent 53%, #4bc4ec0a 53%, #4bc4ec0a 70%, transparent 70%);
}
.home .hero::after {
  content: ''; position: absolute; right: -8%; bottom: -50%; width: 700px; height: 700px;
  border: 1px solid #4bc4ec26; transform: rotate(45deg); z-index: -1; pointer-events: none;
}
.home .hero-grid { grid-template-columns: 1.45fr 1fr; gap: 64px; }
.home .hero h1 { font-size: clamp(2.7rem, 4.4vw, 4.2rem); line-height: 1.06; letter-spacing: -.045em; }
.home .hero h1 span { color: #4bc4ec; display: block; }
.home .hero .eyebrow { color: #d9dee2; font-size: .67rem; }
.home .hero .lead { color: #d9dee2; font-size: 1.02rem; line-height: 1.8; }
.home .hero .actions { gap: 15px; margin: 30px 0 22px; }
.home .hero .actions .secondary { color: #fff; border-color: #89969b; background: transparent; }
.home .hero .actions .secondary:hover { background: #ffffff10; border-color: #fff; }
.home .hero-note { color: #c0cdd2; font-size: .76rem; }
.home .hero-panel {
  background: linear-gradient(145deg, #ffffff, #eaf2f5);
  color: #1a1918; border-radius: 8px; padding: 30px 32px;
  border: 1px solid #ffffff; box-shadow: 0 24px 60px #0003;
}
.home .hero-panel::before { display: none; }
.panel-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 22px; }
.panel-top > span { font-size: .64rem; letter-spacing: .15em; font-weight: 750; color: #586d73; }
.home .hero-panel h2 { font-size: 2.15rem; max-width: none; letter-spacing: -.04em; margin-bottom: 15px; }
.home .hero-panel h2 em { color: #245567; }
.home .hero-panel p { color: #586d73; font-size: .9rem; margin-bottom: 24px; }
.home .panel-row { border-color: #cbd7dd; font-size: .86rem; padding: 15px 0; gap: 16px; }
.home .panel-row b { color: #285d70; }
.panel-link { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #cbd7dd; padding-top: 21px; margin-top: 10px; font-weight: 750; font-size: .88rem; text-decoration: none; }
.panel-link span { font-size: 1.4rem; color: #285d70; }
.home .ribbon { color: #d9dee2; background: #1a1918; border-block: 1px solid #ffffff25; }
.home .ribbon .wrap { padding-block: 21px; font-weight: 500; font-size: .8rem; }
.home .ribbon span::before { content: ''; display: inline-block; width: 6px; height: 6px; background: #4bc4ec; margin-right: 12px; vertical-align: middle; }
.home #servicios { background: #eaf2f5; }
.home .section-head { margin-bottom: 36px; }
.home #servicios .section-head { max-width: 760px; }
.home #servicios .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.home #servicios .card { position: relative; padding: 30px 32px; border: 1px solid #c8d6dc; border-radius: 8px; display: flex; flex-direction: column; }
.home #servicios .card:first-child { border-top: 3px solid #4bc4ec; padding-top: 28px; }
.home #servicios .card:nth-child(2) { background: #d9eef5; border-top: 3px solid #1a1918; padding-top: 28px; }
.home #servicios .card-number { margin-bottom: 18px; font-size: .67rem; letter-spacing: .12em; font-weight: 650; }
.home #servicios h3 { font-size: 1.55rem; margin-bottom: 14px; }
.home #servicios .card p { max-width: 440px; }
.home #servicios .card a { border-top: 1px solid #d0dde3; padding-top: 18px; margin-top: auto; text-decoration: none; display: block; }
.home .card { transition: border-color .2s, box-shadow .2s; }
.home .card:focus-within, .home .card:hover { border-color: #7997a3; box-shadow: 0 8px 24px #1a19180a; }
.medical-focus { padding: 60px 0; background: #1a1918; color: #fff; border-top: 4px solid #4bc4ec; }
.medical-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; align-items: center; }
.medical-focus h2 { font-size: clamp(2rem, 3vw, 2.7rem); margin-bottom: 0; }
.medical-focus h2 span { color: #4bc4ec; }
.medical-focus .eyebrow, .medical-focus p { color: #d9dee2; }
.medical-focus .button { gap: 20px; }
.home #soluciones { background: #fff; }
.home #soluciones .card { border: 0; border-left: 2px solid #d9dee2; border-radius: 0; padding: 6px 26px; }
.home #soluciones .card:last-child { border-left-color: #4bc4ec; }
.home #proceso { background: #eaf2f5; }
.steps li::before { font-size: 1.7rem; letter-spacing: -.05em; color: #28596b; }
.home #nosotros { background: #fff; }
.home #nosotros .two-col > div:last-child { background: #eaf2f5; padding: 32px; border-top: 3px solid #4bc4ec; border-radius: 0 0 8px 8px; }
.home #areas { background: #eaf2f5; }
.home #preguntas { background: #fff; }
.faq summary { padding: 2px 0; }
.faq details[open] summary { color: #245567; }
#contacto { background: #1a1918; color: #fff; }
#contacto .contact-info p, #contacto .contact-info .eyebrow { color: #d9dee2; }
#contacto .contact-line { border-color: #ffffff26; }
#contacto .contact-line strong { color: #4bc4ec; font-size: .67rem; margin-bottom: 5px; }
#contacto .contact-form { color: #1a1918; box-shadow: 0 20px 50px #0002; border: 0; }
#contacto a:focus-visible, .home .hero a:focus-visible { outline-color: #4bc4ec; }
.service-hero .eyebrow, .service-hero .lead, .service-hero .breadcrumbs { color: #d9dee2; }
.service-hero .secondary { color: #fff; border-color: #89969b; }
.service-overview { border-top-color: #ffffff30; color: #d9dee2; }
@media (max-width: 1000px) {
  .home .hero-grid { gap: 30px; grid-template-columns: 1.2fr 1fr; }
  .home .hero-panel { padding: 26px; }
  .medical-grid { gap: 36px; }
}
@media (max-width: 760px) {
  .header-inner { min-height: 76px; }
  .home .hero { padding: 40px 0; }
  .home .hero-grid, .home #servicios .grid, .medical-grid { grid-template-columns: 1fr; }
  .home .hero h1 { font-size: clamp(2.3rem, 9.5vw, 3.1rem); }
  .home .hero h1 span { margin-top: 5px; }
  .home .hero .lead { font-size: .98rem; }
  .home .hero .eyebrow { line-height: 1.8; }
  .home .hero-panel { padding: 26px; }
  .home .hero-panel h2 { font-size: 2rem; }
  .home .hero-note { line-height: 1.8; }
  .home .ribbon .wrap { flex-direction: column; gap: 12px; }
  .home #servicios .card { padding: 26px; }
  .medical-focus { padding: 44px 0; }
  .medical-grid { gap: 24px; }
  .medical-focus .button { width: 100%; }
  .home #nosotros .two-col > div:last-child { padding: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .home .card { transition: none; }
}

/* Applications uses the same shell and brand styles as the accounting services. */
.apps-content { --deep: #1a1918; --line: #d9dee2; --soft: #eaf2f5; --lime: #eaf2f5; font: inherit; }
.apps-content h1, .apps-content h2, .apps-content h3,
.apps-content .strip strong { font-family: inherit; }
.apps-content .wrap { width: min(var(--max), calc(100% - 48px)); }
.apps-content .hero { padding: 64px 0; }
.apps-content .hero h1 { font-size: clamp(2.7rem, 4.4vw, 4.2rem); letter-spacing: -.045em; line-height: 1.06; margin: 0 0 24px; }
.apps-content .hero .eyebrow { display: block; color: #d9dee2; font-size: .67rem; margin-bottom: 18px; }
.apps-content .hero .eyebrow::before { display: inline-block; vertical-align: middle; margin-right: 12px; }
.apps-content .hero h1 em { color: #4bc4ec; }
.apps-content .hero .lead, .apps-content .hero-note, .apps-content .micro,
.apps-content .demo-label { color: #d9dee2; }
.apps-content .hero .lead { font-size: 1.02rem; max-width: 650px; }
.apps-content .hero-note span::before { color: #4bc4ec; }
.apps-content .hero .app, .apps-content .hero .float { color: #1a1918; }
.apps-content .visual .app { transform: none; box-shadow: 0 24px 60px #0003; }
.apps-content .visual .float { background: #eaf2f5; }
.apps-content .btn { font-family: inherit; font-size: .94rem; padding: 13px 22px; min-height: 50px; border-radius: 6px; background: #4bc4ec; color: #1a1918; border-color: #4bc4ec; line-height: 1.4; text-align: center; }
.apps-content .btn:hover { background: #7ed7f2; border-color: #7ed7f2; transform: none; }
.apps-content .hero .btn.outline { background: transparent; border-color: #89969b; color: #fff; }
.apps-content .strip { background: #1a1918; color: #d9dee2; border-color: #ffffff26; }
.apps-content .strip p { color: #d9dee2; }
.apps-content .section { padding-block: 80px; }
.apps-content .section-head { max-width: none; }
.apps-content .section-head p, .apps-content .card p, .apps-content .step p, .apps-content .faq details p { font-size: .94rem; }
.apps-content .section-head h2, .apps-content h2 { font-size: clamp(2rem, 3vw, 2.8rem); letter-spacing: -.035em; }
.apps-content .card { border-top: 3px solid #4bc4ec; }
.apps-content .cloud { background: #1a1918; }
.apps-content .cloud .eyebrow { color: #d9dee2; }
.apps-content .cloud p { color: #d9dee2; }
.apps-content .cloud .flow-caption { color: #d9dee2; }
.apps-content .faq { max-width: none; background: #eaf2f5; }
.apps-content .faq summary { font-size: 1rem; }
.apps-content .scope { font-size: .92rem; }
@media (max-width: 760px) {
  .apps-content .wrap { width: calc(100% - 36px); }
  .apps-content .hero { padding: 40px 0; }
  .apps-content .hero h1 { font-size: clamp(2.3rem, 9.5vw, 3.1rem); }
  .apps-content .actions .btn { width: 100%; font-size: .94rem; }
  .apps-content .section { padding-block: 54px; }
}
.apps-content .hero { background: radial-gradient(ellipse at 95% 0%, #29454e 0, transparent 60%), #1a1918; }
.apps-content .btn { text-transform: none; letter-spacing: normal; }
.apps-content .eyebrow, .apps-content .flow-copy h4, .apps-content #proceso .step-num { font-family: inherit; }
.apps-content .breadcrumbs { margin: 0 auto 28px; font-size: .82rem; }
