/* EVA Avanza · azul profundo, cielo y amarillo cálido */
:root {
  --eva-navy: #0a2442;
  --eva-dark: #071c35;
  --eva-blue: #07558b;
  --eva-sky: #a7ddf7;
  --eva-pale: #eef8fe;
  --eva-gold: #ffbf24;
  --eva-gold-hover: #ffcd47;
  --eva-line: #cee1ee;
  --eva-text: #27435b;
  --eva-muted: #455e73;
  --eva-max: 1336px;
  --eva-gutter: clamp(18px, 4.3vw, 68px);
  --eva-radius: 20px;
}
.eva-home, .privacy-page {
  --page: #edf7fd; --paper: #fff; --ink: var(--eva-navy); --text: var(--eva-text);
  --muted: var(--eva-muted); --blue: var(--eva-blue); --blue-hover: #063f68; --blue-soft: #e9f5fd;
  --line: var(--eva-line); --control-line: #7596b0; --mustard: var(--eva-gold);
  --mustard-hover: var(--eva-gold-hover); --mustard-text: #704a00; --focus: #07578f;
  background: linear-gradient(180deg,#f5fbff 0%,#eaf6fd 55%,#f5fbff 100%);
}
.eva-home .workspace { max-width: none; padding: 0 0 clamp(34px,5vw,76px); }
.review-notice { display:flex; justify-content:center; align-items:baseline; flex-wrap:wrap; gap:4px 12px; padding:7px var(--eva-gutter); background:#fff4d6; color:#5c4100; font-size:12px; text-align:center; }
.eva-home .site-header, .privacy-page .privacy-header { background:linear-gradient(112deg,#0c2d4b,#081f3a 78%); color:white; }
.eva-home .header-inner { width:100%; max-width:var(--eva-max); min-height:76px; margin:auto; padding:12px var(--eva-gutter); gap:10px 24px; }
.eva-home .wordmark, .privacy-page .wordmark { color:white; gap:11px; text-decoration:none; }
.eva-home .wordmark .brand-mark, .privacy-page .wordmark .brand-mark { width:44px; height:44px; }
.eva-home .brand-name, .privacy-page .brand-name { font-size:25px; letter-spacing:-.9px; color:white; }
.eva-home .brand-name > span, .privacy-page .brand-name > span { color:var(--eva-gold); font-weight:800; }
.eva-home .brand-name > small, .privacy-page .brand-name > small { display:inline-block; padding-left:12px; margin:0 0 0 12px; border-left:1px solid #95b1c6; color:#e8f5ff; font-size:10px; letter-spacing:1px; vertical-align:middle; }
.site-nav { display:flex; gap:4px clamp(10px,2vw,28px); align-items:center; flex-wrap:wrap; }
.site-nav a { display:flex; align-items:center; min-height:43px; color:#f4faff; font-weight:700; text-decoration:none; font-size:13px; text-underline-offset:7px; white-space:nowrap; }
.site-nav a:first-child, .site-nav a:hover { text-decoration:underline 2px var(--eva-gold); }
.eva-home .header-actions { gap:8px; }
.eva-home .header-actions:not(:has(:not([hidden]))) { display:none; }
.eva-home .header-actions .text-button { color:#fff; }
.eva-home .install-button { background:#d9f1fe; border-color:#a9d5ee; color:var(--eva-navy); }
.eva-home .site-header :focus-visible, .eva-home .home-footer :focus-visible, .privacy-page .privacy-header :focus-visible { outline-color:var(--eva-gold); }

.eva-hero { position:relative; isolation:isolate; overflow:hidden; overflow:clip; background:linear-gradient(113deg,#fcfeff 9%,#f5faff 54%,#edf5fa); border-bottom:1px solid #cde8f8; }
.hero-tints, .hero-tint { position:absolute; inset:0; pointer-events:none; }
.hero-tints { z-index:-2; }
.hero-tint {
  --wash:143 211 246;
  background:radial-gradient(ellipse at 83% 25%,rgb(var(--wash) / .52),rgb(var(--wash) / .24) 37%,transparent 72%),
    linear-gradient(111deg,transparent 10%,rgb(var(--wash) / .10) 46%,rgb(var(--wash) / .46));
  opacity:0; transition:opacity 440ms ease;
}
.hero-tint--data { opacity:1; }
.hero-tint--accounting { --wash:190 166 240; }
.hero-tint--operations { --wash:117 219 181; }
.eva-hero:has([data-service="accounting"]:not([inert])) .hero-tint--data,
.eva-hero:has([data-service="operations"]:not([inert])) .hero-tint--data { opacity:0; }
.eva-hero:has([data-service="accounting"]:not([inert])) .hero-tint--accounting,
.eva-hero:has([data-service="operations"]:not([inert])) .hero-tint--operations { opacity:1; }
.eva-hero::before, .eva-hero::after { content:""; position:absolute; pointer-events:none; z-index:-1; background:#fff; }
.eva-hero::before { width:85%; height:130%; right:-36%; top:-51%; opacity:.20; border-radius:48% 0 0 56%; transform:rotate(-10deg); }
.eva-hero::after { left:-12%; right:-9%; bottom:-50%; height:70%; border-radius:52% 45% 0 0; transform:rotate(-4deg); opacity:.46; }
.hero-inner { max-width:var(--eva-max); margin:auto; padding:clamp(24px,4.2vw,60px) var(--eva-gutter) clamp(16px,2vw,28px); }
/* Shared grid track reserves the height of the longest service at each width.
   Transforms affect paint only, so controls and following content stay put. */
.hero-slides { display:grid; grid-template-columns:minmax(0,1fr); isolation:isolate; }
.hero-slide {
  grid-area:1 / 1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(22px,4vw,66px); align-items:center; min-width:0; min-height:315px;
  visibility:visible; opacity:1; transform:translateY(0); z-index:1;
  transition:opacity 440ms ease, transform 440ms cubic-bezier(.2,.7,.2,1), visibility 0s;
}
.hero-slide[inert] {
  visibility:hidden; opacity:0; transform:translateY(13px); z-index:0; pointer-events:none;
  transition:opacity 360ms ease, transform 360ms cubic-bezier(.2,.7,.2,1), visibility 0s 360ms;
}
.hero-copy { min-width:0; }
.hero-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 17px; color:#225d85; }
.hero-eyebrow > span { flex:none; width:22px; height:3px; border-radius:3px; background:#e3a106; }
.hero-copy h2 { margin:0; max-width:660px; font-size:clamp(35px,4.6vw,66px); font-weight:800; color:var(--eva-dark); line-height:1.04; letter-spacing:-.058em; }
.hero-copy mark { display:inline-block; max-width:100%; padding:.02em .16em .09em; margin:.08em 0 0 -.04em; color:inherit; background:linear-gradient(108deg,#ffc938,#ffb91b); border-radius:.18em; box-decoration-break:clone; overflow-wrap:anywhere; }
.hero-description { margin:19px 0 25px; max-width:480px; font-size:clamp(16px,1.55vw,21px); line-height:1.49; color:var(--eva-text); }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.eva-home .button, .privacy-page .button { min-height:46px; border-radius:10px; font-weight:800; text-decoration:none; }
.eva-home .button-primary, .privacy-page .button-primary { background:var(--eva-gold); border-color:#d89b03; color:var(--eva-dark); box-shadow:none; }
.eva-home .button-primary:hover, .privacy-page .button-primary:hover { background:var(--eva-gold-hover); border-color:#ad7800; }
.eva-home .button-quiet { color:var(--eva-navy); background:#f9fdff; border-color:#264a69; }
.eva-home .button-quiet:hover { background:#e2f4fe; }
.hero-actions .button { padding:10px 15px; font-size:13px; gap:7px; }
.hero-actions .button svg, .shortcut .button svg, .catalog-card .text-button svg { width:16px; height:16px; }
.hero-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(9px,1.3vw,20px); padding:0; margin:14px 0 0; list-style:none; }
.hero-flow li { min-width:0; position:relative; min-height:clamp(106px,13vw,186px); display:grid; align-content:center; justify-items:center; gap:8px; padding:23px 6px 8px; border:1px solid #fff; border-radius:clamp(13px,1.7vw,22px); background:linear-gradient(160deg,#fff,#eef9ffdb); box-shadow:0 10px 24px #2e71961c; }
.hero-flow li > span { position:absolute; z-index:1; top:0; transform:translateY(-45%); padding:3px clamp(4px,.7vw,10px); max-width:100%; border-radius:8px; background:#a8def7; color:var(--eva-dark); font-size:clamp(11px,1.2vw,16px); font-weight:800; white-space:nowrap; }
.hero-flow li:nth-child(2) > span { background:var(--eva-gold); }
.hero-flow li > svg { width:min(100%,135px); height:auto; stroke:none; }
.hero-flow li:not(:last-child)::after { content:"→"; position:absolute; z-index:2; top:45%; right:0; transform:translate(67%,-50%); color:var(--eva-navy); font-size:clamp(19px,2.6vw,35px); font-weight:800; line-height:1; }
.hero-controls { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:clamp(4px,1vw,12px); margin:clamp(18px,3vw,32px) auto 0; color:var(--eva-navy); }
.hero-controls button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0; border:1px solid #739bb8; border-radius:999px; color:inherit; background:#fafdff; }
.hero-controls button:hover { background:#d8effc; }
.hero-controls button svg { width:20px; height:20px; stroke-width:2; }
.hero-controls .hero-pause { padding:0 9px; gap:4px; font-size:12px; font-weight:800; white-space:nowrap; }
.hero-pause[aria-disabled="true"] { cursor:default; background:#fafdff; }
.hero-dots { display:flex; }
.hero-dots button { min-width:34px; min-height:44px; border:0; background:transparent; }
.hero-dots button span { width:10px; height:10px; border-radius:50%; border:1px solid #7898ad; background:#b9cedc; }
.hero-dots button[aria-current] span { background:var(--eva-gold); border-color:#936900; box-shadow:0 0 0 3px #ffcf5466; }
.hero-count { font-size:12px; font-weight:800; padding:0 4px 0 10px; border-left:1px solid #9fbace; white-space:nowrap; font-variant-numeric:tabular-nums; }

.home-section { max-width:var(--eva-max); margin:clamp(33px,5vw,70px) auto 0; padding-inline:var(--eva-gutter); scroll-margin-top:20px; }
.home-heading { margin:0 0 18px; }
.home-heading .eyebrow, .eva-home .expertise-heading .eyebrow, .eva-home .landing-demo .eyebrow { color:#21628e; }
.home-heading h2, .eva-home .expertise-heading h2, .eva-home .landing-demo h2 { margin:0; color:var(--eva-dark); font-size:clamp(25px,3.2vw,40px); line-height:1.15; letter-spacing:-.045em; }
.home-heading > p:not(.eyebrow) { margin:7px 0 0; max-width:650px; }
.home-shortcuts { margin-top:clamp(26px,3vw,46px); }
.shortcut-grid, .catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.5vw,22px); }
.shortcut, .catalog-card, .eva-home .expertise-profile, .eva-home .flow-card { border:1px solid var(--eva-line); border-radius:var(--eva-radius); background:#fff; box-shadow:0 8px 20px #153a5810; }
.shortcut { display:grid; grid-template-columns:auto minmax(0,1fr); align-content:start; gap:12px; padding:clamp(14px,1.8vw,23px); }
.shortcut-icon { display:grid; place-items:center; width:clamp(47px,5vw,68px); height:clamp(47px,5vw,68px); border-radius:14px; background:#e8f6fe; }
.shortcut-icon svg { width:87%; height:auto; stroke:none; }
.shortcut-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.shortcut-index { color:#496781; margin:0 0 3px; font-size:10px; font-weight:800; letter-spacing:.12em; }
.shortcut h3, .catalog-card h3 { color:var(--eva-dark); margin:0; font-size:clamp(16px,1.5vw,20px); line-height:1.2; letter-spacing:-.035em; }
.shortcut-copy > p:not(.shortcut-index) { font-size:13px; margin:8px 0 13px; }
.shortcut .button { min-height:44px; font-size:13px; margin-top:auto; }
.catalog-card { padding:clamp(17px,2vw,25px); display:flex; flex-direction:column; align-items:flex-start; }
.catalog-index { display:grid; place-items:center; width:37px; height:33px; margin:0 0 10px; border-radius:8px; background:#e7f5fc; color:#15557f; font-weight:800; font-size:12px; }
.catalog-card p { font-size:14px; margin:9px 0; }
.catalog-card .catalog-output { width:100%; border-top:1px solid var(--eva-line); padding-top:10px; margin-top:auto; }
.catalog-output strong { display:block; margin-bottom:2px; color:var(--eva-navy); }
.catalog-card .text-button { display:inline-flex; align-items:center; min-height:44px; gap:5px; }
.catalog-scope { margin-top:16px; padding:12px 17px; border:1px solid #d3e5ef; border-radius:12px; background:#f8fcff; }
.catalog-scope summary { cursor:pointer; color:var(--eva-navy); font-weight:800; }
.catalog-scope p { margin:7px 0 0; font-size:14px; }

.eva-home .work-area { margin-top:clamp(40px,6vw,86px); }
.eva-home .work-area:has(.progress[hidden]) { max-width:910px; }
.eva-home .progress li[aria-current] .step-marker { border-color:#b68400; background:var(--eva-gold); }
.eva-home .trial-notice { background:#e4f3fd; color:var(--eva-text); border:1px solid var(--eva-line); border-radius:12px; margin:0; padding:9px 12px; }
.eva-home .trial-notice p { font-size:13px; }
.eva-home .card-heading h2 { color:var(--eva-dark); }
.eva-home .category-option :checked + .category-content { border-color:#2776a8; background:#eaf7fe; }
.eva-home .contact-fields, .eva-home .purpose-note, .eva-home .session-invitation { border-color:var(--eva-line); }
.eva-home [tabindex="-1"] { scroll-margin-top:20px; }
.eva-home .landing-demo, .eva-home .expertise-panel { width:calc(100% - 2 * var(--eva-gutter)); max-width:calc(var(--eva-max) - 2 * var(--eva-gutter)); margin:clamp(30px,5vw,70px) auto 0; border-radius:var(--eva-radius); padding:clamp(20px,3vw,40px); border:1px solid var(--eva-line); background:linear-gradient(136deg,#fff,#edf8ff); }
.eva-home .expertise-profile { border-top:3px solid #94cdee; }
.eva-home .profile-experience { color:var(--eva-navy); }
.eva-home .home-footer { width:auto; max-width:none; display:block; background:linear-gradient(110deg,#0c2c4a,#081f38); border:0; color:#dfedf7; padding:0; font-size:13px; }
.footer-inner { max-width:var(--eva-max); margin:auto; padding:clamp(24px,4vw,50px) var(--eva-gutter); display:grid; grid-template-columns:1.15fr .8fr 1fr; gap:16px 30px; align-items:start; }
.footer-inner p { margin:9px 0 0; }
.footer-inner nav, .footer-contact { display:grid; gap:5px; align-content:start; justify-items:start; min-width:0; }
.footer-inner a:not(.wordmark) { color:#e8f5ff; overflow-wrap:anywhere; text-underline-offset:4px; }
.footer-inner a:hover { color:var(--eva-gold); }
.footer-contact strong { color:white; }
.eva-home .whatsapp-cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:7px 14px; border:1px solid #14754d; border-radius:999px; background:#e5f8ed; color:#0d4c34; font-size:14px; font-weight:800; text-decoration:none; }
.eva-home .whatsapp-cta:hover { background:#c9eedc; color:#0b3e2c; }
.eva-home .whatsapp-cta:focus-visible { outline:3px solid #14754d; outline-offset:3px; }
.eva-home .home-footer .whatsapp-cta:focus-visible { outline-color:var(--eva-gold); }
.whatsapp-cta svg { width:20px; height:20px; flex:none; }
.privacy-page .privacy-back { color:#e8f5ff; }
.privacy-page .privacy-footer { color:var(--eva-muted); }

.whatsapp-float {
  position:fixed;
  left:max(16px, calc(env(safe-area-inset-left, 0px) + 12px));
  bottom:max(16px, calc(env(safe-area-inset-bottom, 0px) + 12px));
  z-index:20;
  min-width:56px;
  height:56px;
  padding:0 17px 0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:2px solid #fff;
  border-radius:999px;
  background:#08734e;
  color:#fff;
  box-shadow:0 5px 16px #092f3d50;
  font:inherit;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.whatsapp-float svg { width:30px; height:30px; flex:none; }
.whatsapp-float:hover { background:#055c3f; color:#fff; }
.whatsapp-float:focus-visible { outline:3px solid #07578f; outline-offset:3px; }
@media(max-width:600px) {
  .whatsapp-float { width:56px; padding:0; }
  .whatsapp-float span { display:none; }
  .eva-home:has(.whatsapp-float) .footer-inner { padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px)); }
}

@media(max-width:1000px) {
  .eva-home .header-inner { justify-content:flex-start; }
  .eva-home .header-actions { margin-left:auto; }
}
@media(max-width:760px) {
  .eva-home .header-inner { gap:5px 14px; padding-block:9px 5px; }
  .site-nav { order:3; width:100%; gap:1px 16px; }
  .site-nav a { min-height:35px; font-size:12px; }
  .hero-slide { grid-template-columns:minmax(0,1fr); gap:18px; min-height:0; align-content:start; }
  .hero-copy h2 { font-size:clamp(35px,7.3vw,50px); }
  .hero-description { margin:12px 0 16px; }
  .hero-eyebrow { margin-bottom:11px; }
  .hero-flow { width:min(100%,530px); }
  .hero-flow li { min-height:clamp(79px,17vw,145px); }
  .hero-flow li > svg { width:min(83%,103px); }
  .shortcut-grid, .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .footer-inner > div:first-child { grid-column:1/-1; }
}
@media(max-width:530px) {
  .eva-home .brand-name > small, .privacy-page .brand-name > small { display:inline-block; margin-left:8px; padding-left:8px; font-size:8px; }
  .eva-home .wordmark .brand-mark, .privacy-page .wordmark .brand-mark { width:38px; height:38px; }
  .eva-home .brand-name, .privacy-page .brand-name { font-size:22px; }
  .privacy-page .privacy-header { flex-wrap:wrap; gap:12px; }
  .privacy-page .privacy-back { max-width:none; }
  .site-nav { gap:0 10px; }
  .site-nav a { font-size:11px; }
  .hero-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .hero-actions .button { justify-content:center; text-align:center; }
  .hero-flow { margin-top:11px; }
  .hero-flow li { padding-top:15px; }
  .hero-controls { gap:4px; }
  .hero-dots button { min-width:24px; }
  .hero-controls .hero-pause { padding-inline:6px; }
  .hero-count { padding:0 0 0 5px; font-size:11px; }
  .shortcut-grid, .catalog-grid { grid-template-columns:minmax(0,1fr); }
  .eva-home .landing-demo { grid-template-columns:minmax(0,1fr); }
  .footer-inner { grid-template-columns:minmax(0,1fr); }
  .footer-inner > div:first-child { grid-column:auto; }
}
@media(max-width:335px) { .hero-count { display:none; } }
@media(prefers-reduced-motion:reduce) {
  .eva-home *, .eva-home *::before, .eva-home *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
