/* Portadas y capítulos de las siete soluciones en español */
body.es-solutions { background:var(--paper); color:var(--ink); --es-accent:var(--violet); }
body.es-solutions[data-specialty="systems"] { --es-accent:var(--teal); }
body.es-solutions[data-specialty="strategy"] { --es-accent:var(--amber-text); }
.es-solutions main { background:var(--paper); }
.es-solution-hero { padding:140px 0 74px; overflow:clip; }
.es-solution-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6%; align-items:center; }
.es-solution-hero__copy { min-width:0; }
.es-solution-hero__copy .es-eyebrow { color:var(--ink-soft); margin-bottom:25px; }
.es-solution-hero__copy .display { font:800 clamp(2.6rem,4.25vw,4.8rem)/1.01 var(--font-display); letter-spacing:-.055em; text-wrap:balance; color:var(--ink); margin:0; }
.es-solution-accent { color:var(--es-accent); }
.es-solution-hero__copy .lead { color:var(--ink-soft); font-size:1.13rem; line-height:1.6; max-width:32em; margin:25px 0 28px; }
.es-solution-hero__visual { min-width:0; }
.es-solution-hero .es-film { max-width:590px; margin-inline:auto; }
.es-solution-hero__actions { display:flex; flex-wrap:wrap; gap:18px; }
.es-solutions.pro .btn--primary { background:var(--ink); color:var(--paper); }
.es-solutions.pro .btn--ghost { color:var(--ink); border-color:var(--line); }
.es-solutions.pro main .chip { color:var(--teal); border-color:var(--teal); background:transparent; }
.es-solutions .es-solution-hero .chip { vertical-align:middle; margin-left:6px; font-size:.62rem; }
.es-solution-summary { padding:0 0 72px; }
.es-solution-summary__list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; padding:30px 0; border-block:1px solid var(--line); }
.es-solution-summary__list li { display:flex; gap:10px; color:var(--ink-soft); font:450 .93rem/1.55 var(--font-sans); min-width:0; }
.es-solution-summary__list svg { width:18px; height:18px; flex:none; color:var(--es-accent); margin-top:3px; }
.es-solution-summary__list .chip { white-space:nowrap; font-size:.62rem; }
.es-solutions .sol-model { background:transparent; border:0; border-radius:0; padding:10px 28px 10px 0; gap:14px; }
.es-solutions .sol-model + .sol-model { border-left:1px solid var(--line); padding-left:32px; }
.es-solutions .sol-model__tag { font-family:var(--font-sans); font-size:1.2rem; text-transform:none; letter-spacing:-.02em; }
.es-solutions .sol-what { padding:48px 0 54px; }
.es-solutions .section-head .h2,
.es-solutions .pro-title { font-family:var(--font-display); font-weight:700; font-size:clamp(2.35rem,3.8vw,3.6rem); line-height:1.04; letter-spacing:-.045em; text-transform:none; color:var(--ink); }
.es-solutions .section-head .lead { color:var(--ink-soft); }
.es-solutions .sol-benefits-band { background:var(--paper); padding:0 0 70px; }
.es-solutions .sol-rows { gap:44px; }
.es-solutions .sol-row { padding:50px 0; min-height:570px; gap:8%; grid-template-columns:minmax(0,1fr) minmax(0,1.13fr); }
.es-solutions .sol-row--flip { grid-template-columns:minmax(0,1.13fr) minmax(0,1fr); }
.es-solutions .sol-row__copy { gap:20px; }
.es-solutions .sol-row__copy .h3 { font:700 clamp(2.1rem,3.2vw,3rem)/1.06 var(--font-display); letter-spacing:-.042em; color:var(--ink); }
.es-solutions .sol-row__copy p:not(.sol-row__step) { font-size:1.05rem; line-height:1.65; }
.es-solutions .sol-row__step { background:transparent; padding:0; border-radius:0; color:var(--es-accent)!important; font-size:.73rem; }
.es-solutions .sol-slot { border-radius:26px; background:color-mix(in srgb,var(--es-accent) 5%,var(--paper)); padding:26px; overflow:visible; }
.es-solutions .sol-slot:has(.es-film) { padding:0; background:transparent; }
.es-solutions .sol-slot .demo { min-height:360px; }
.es-solutions .sol-running, .es-solutions .pro-running { padding-block:100px; }
.es-solutions .sol-links { background:var(--paper); }
.es-solutions .sol-link { border-radius:14px; }

/* Las pantallas de sistemas mantienen sus interfaces, sobre una página clara */
.es-solutions.pro .kicker { color:var(--ink-soft); }
.es-solutions.pro .kicker .kicker__num { color:var(--teal); }
.es-solutions.pro .h2, .es-solutions.pro .h3 { color:var(--ink); }
.es-solutions.pro .lead { color:var(--ink-soft); }
.es-solutions .pro-does { padding:65px 0 72px; }
.es-solutions .pro-card { background:color-mix(in srgb,var(--teal) 5%,var(--paper)); border:0; border-radius:20px; padding:24px; min-height:350px; box-shadow:none; }
.es-solutions .pro-card:hover { box-shadow:0 14px 32px rgba(17,17,16,.07); }
.es-solutions .pro-features { padding:0 0 80px; }
.es-solutions .pro-feat { width:min(var(--shell),100% - var(--gutter)*2); margin:0 auto; padding:60px 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); column-gap:8%; align-items:center; }
.es-solutions .pro-feat__head { width:100%; display:grid; grid-template-columns:1fr; gap:25px; padding:0; }
.es-solutions .pro-feat__name { font:700 clamp(2.1rem,3.1vw,2.9rem)/1.06 var(--font-display); letter-spacing:-.04em; color:var(--ink); text-wrap:balance; }
.es-solutions .pro-feat__checks { font:450 1.03rem/1.6 var(--font-sans); text-transform:none; letter-spacing:0; color:var(--ink-soft); gap:14px; }
.es-solutions .pro-feat__checks svg { color:var(--teal); margin-top:5px; }
.es-solutions .pro-feat__photo { min-height:500px; height:auto; width:100%; padding-top:190px; background:transparent; overflow:visible; margin:0; }
.es-solutions .pro-feat__media { position:absolute; aspect-ratio:auto; inset:0 auto auto 0; width:94%; height:320px; border-radius:22px; overflow:hidden; }
.es-solutions .pro-feat__media img,.es-solutions .pro-feat__media video { object-position:25% center; }
.es-solutions .pro-feat__scrim { display:none; }
.es-solutions .pro-feat__ui { position:relative; inset:auto; transform:none; width:82%; max-width:none; min-height:240px; margin:0 0 0 auto; padding:0; background:transparent; border:0; box-shadow:none; }
.es-solutions .pro-feat:nth-of-type(even) .pro-feat__head { order:2; }
.es-solutions .pro-feat:nth-of-type(even) .pro-feat__photo { order:1; }
.es-solutions .pro-feat__film { width:100%; min-width:0; }
.es-solutions .pro-feat__film .es-film { width:100%; margin:0; }
.es-solutions .pro-feat:nth-of-type(even) .pro-feat__film { order:1; }
.es-solutions .pro-feat > .shell:not(.pro-feat__head) { order:3; grid-column:1/-1; width:100%; }
.es-solutions .pro-feat__note { color:var(--ink-soft); max-width:70ch; }
.es-solutions .pro-delivery { background:color-mix(in srgb,var(--teal) 8%,var(--paper)); padding:90px 0; color:var(--ink); }
.es-solutions .pro-delivery .pro-title, .es-solutions .pro-delivery .kicker { color:var(--ink); }
.es-solutions .pro-delivery__copy > p:not(.kicker) { color:var(--ink-soft); font-size:1.08rem; }
.es-solutions .pro-delivery__note { border-color:var(--line); }
.es-solutions .pro-ba__card--after { box-shadow:0 16px 45px rgba(17,17,16,.1); border:1px solid var(--line); }
.es-solutions .pro-ba__card--before .h3 { color:var(--paper); }
.es-solutions .pro-steps,.es-solutions .pro-steps li { border-color:var(--line); color:var(--ink-soft); }
.es-solutions .pro-steps__n { color:var(--teal); }
.es-solutions .pro-running__card { box-shadow:0 16px 45px rgba(17,17,16,.09); border:1px solid var(--line); }
.es-solutions .pro-links__card { background:var(--paper-raised); border:1px solid var(--line); }
.es-solutions .pro-links__name,.es-solutions .pro-links__more { color:var(--ink); }
.es-solutions .pro-links__line { color:var(--ink-soft); }
.es-solutions .pro-links__more svg { color:var(--teal); }
.es-solutions .faq--dark .faq__list,.es-solutions .faq--dark .faq__item { border-color:var(--line); }
.es-solutions .faq--dark .faq__item summary { color:var(--ink); }
.es-solutions .faq--dark .faq__item p { color:var(--ink-soft); }
.es-solutions .faq--dark .faq__item summary::after { background:linear-gradient(var(--ink) 0 0) center/12px 2px no-repeat,linear-gradient(var(--ink) 0 0) center/2px 12px no-repeat; }
.es-solutions .faq--dark .faq__item[open] summary::after { background:linear-gradient(var(--teal) 0 0) center/12px 2px no-repeat; }

/* Estudio de marca: la identidad se reconoce en escritorio y celular */
.es-design-study { position:relative; min-height:620px; margin:0; padding:42px 44px 50px 0; }
.es-design-study__browser { background:var(--paper-raised); border:1px solid var(--line); border-radius:17px; overflow:hidden; box-shadow:0 18px 48px rgba(17,17,16,.1); transform:rotate(-2deg); }
.es-study-chrome { display:flex; justify-content:space-between; padding:15px 20px; border-bottom:1px solid var(--line); font:500 .71rem var(--font-mono); color:var(--ink-soft); }
.es-design-study__site { padding:24px 28px; }
.es-design-study__brand { font-size:.68rem; font-weight:650; text-transform:uppercase; letter-spacing:.13em; margin-bottom:25px; }
.es-design-study__headline { font:700 2.3rem/1 var(--font-display); letter-spacing:-.045em; margin-bottom:20px; }
.es-design-study__site img { width:100%; height:195px; object-fit:cover; border-radius:4px; }
.es-design-study__cta { display:flex; justify-content:space-between; padding-top:17px; font-size:.7rem; font-weight:550; }
.es-design-study__palette { position:absolute; top:5px; right:0; width:210px; background:var(--paper-raised); border:1px solid var(--line); border-radius:12px; padding:15px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; box-shadow:0 8px 24px rgba(17,17,16,.07); transform:rotate(4deg); }
.es-design-study__palette > span { width:100%; font:.61rem var(--font-mono); margin-bottom:5px; color:var(--ink-soft); }
.es-design-study__palette i { width:27px; height:27px; background:var(--ink); border-radius:50%; }
.es-design-study__palette i:nth-of-type(2) { background:var(--violet); }
.es-design-study__palette i:nth-of-type(3) { background:var(--mist); border:1px solid var(--line); }
.es-design-study__palette strong { font:700 1.55rem var(--font-display); margin-left:auto; }
.es-design-study__mobile { position:absolute; right:0; bottom:65px; width:160px; padding:17px 12px 13px; background:var(--paper-raised); border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 35px rgba(17,17,16,.15); transform:rotate(5deg); }
.es-design-study__mobile > span { font-size:.55rem; font-weight:650; display:block; margin-bottom:20px; }
.es-design-study__mobile img { width:100%; height:140px; object-fit:cover; border-radius:4px; }
.es-design-study__mobile b { display:block; font:700 1.16rem/1 var(--font-display); letter-spacing:-.03em; margin-top:14px; }
.es-design-study__mobile i { display:block; height:4px; width:40px; background:var(--ink); border-radius:4px; margin:23px auto 0; }
.es-design-study figcaption,.es-crm-study figcaption,.es-strategy-study figcaption { font:.62rem/1.5 var(--font-mono); color:var(--ink-faint); margin-top:24px; }
.es-native-stage { min-height:470px; display:grid; place-items:center; }
.es-native-stage .demo { width:100%; }
.es-crm-study,.es-strategy-study { margin:0; }
@media(max-width:1080px) {
 .es-solutions .sol-row,.es-solutions .sol-row--flip { display:flex; flex-direction:column; align-items:stretch; gap:32px; min-height:0; }
 .es-solutions .sol-row .sol-row__copy { order:0; }
 .es-solutions .sol-row .sol-slot { order:1; width:100%; max-width:650px; align-self:center; }
 .es-solution-hero { padding-top:135px; }
 .es-solution-hero__grid { gap:4%; }
 .es-solution-hero__copy .display { font-size:clamp(2.25rem,4.1vw,3.6rem); }
 .es-solution-hero__copy .lead { font-size:1rem; }
 .es-design-study { min-height:540px; padding-right:30px; }
 .es-design-study__headline { font-size:1.9rem; }
 .es-design-study__site { padding:22px; }
 .es-design-study__site img { height:160px; }
 .es-design-study__mobile { width:125px; bottom:80px; }
 .es-design-study__mobile img { height:100px; }
 .es-solution-summary__list { gap:20px; }
 .es-solutions .pro-feat { column-gap:5%; }
 .es-solutions .pro-feat__media { height:285px; }
 .es-solutions .pro-feat__photo { padding-top:190px; min-height:470px; }
}
@media(max-width:760px) {
 .es-solution-hero { padding:124px 0 48px; }
 .es-solution-hero__grid { grid-template-columns:1fr; gap:35px; }
 .es-solution-hero__copy .display { font-size:clamp(2.05rem,8.9vw,3.6rem); line-height:1.04; letter-spacing:-.045em; text-wrap:balance; }
 .es-solution-hero__copy .lead { font-size:1.025rem; margin:22px 0 24px; }
 .es-solution-hero__copy .es-eyebrow { font-size:.64rem; line-height:1.7; margin-bottom:20px; }
 .es-solution-hero__visual { width:100%; max-width:520px; justify-self:center; }
 .es-solution-summary { padding-bottom:32px; }
 .es-solution-summary__list { grid-template-columns:1fr 1fr; gap:24px 18px; }
 .es-solution-summary__list li { font-size:.85rem; gap:7px; }
 .es-solution-summary__list svg { width:15px; height:15px; }
 .es-solutions .sol-models__grid { grid-template-columns:1fr; gap:24px; }
 .es-solutions .sol-model + .sol-model { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }
 .es-solutions .sol-model { padding:0; }
 .es-solutions .sol-what { padding:42px 0 20px; }
 .es-solutions .section-head .h2,.es-solutions .pro-title { font-size:2.3rem; line-height:1.06; }
 .es-solutions .sol-rows { gap:18px; }
 .es-solutions .sol-row,.es-solutions .sol-row--flip { display:flex; flex-direction:column; align-items:stretch; gap:28px; min-height:0; padding:38px 0; }
 .es-solutions .sol-row .sol-row__copy { order:0; }
 .es-solutions .sol-row .sol-slot { order:1; }
 .es-solutions .sol-row__copy .h3,.es-solutions .pro-feat__name { font-size:2.2rem; }
 .es-solutions .sol-row__copy p:not(.sol-row__step) { font-size:1rem; }
 .es-solutions .sol-slot { padding:10px; }
 .es-solutions .sol-slot .demo { min-height:300px; }
 .es-solutions .pro-does { padding:35px 0 45px; }
 .es-solutions .pro-cards { grid-template-columns:1fr; gap:20px; }
 .es-solutions .pro-card { min-height:0; padding:22px; }
 .es-solutions .pro-card__demo { min-height:190px; }
 .es-solutions .pro-feat { display:flex; flex-direction:column; gap:28px; padding:38px 0; }
 .es-solutions .pro-feat .pro-feat__head { order:0; }
 .es-solutions .pro-feat .pro-feat__film { order:1; width:100%; }
 .es-solutions .pro-feat .pro-feat__photo { order:1; min-height:420px; padding-top:155px; }
 .es-solutions .pro-feat__media { height:245px; }
 .es-solutions .pro-feat__ui { width:89%; }
 .es-solutions .pro-feat__checks { font-size:1rem; gap:11px; }
 .es-solutions .pro-delivery { padding:65px 0; }
 .es-solutions .pro-features { padding-bottom:40px; }
 .es-solutions .sol-running,.es-solutions .pro-running { padding-block:65px; }
 .es-design-study { min-height:505px; padding:42px 25px 30px 0; }
 .es-design-study__site { padding:20px; }
 .es-design-study__headline { font-size:1.65rem; }
 .es-design-study__site img { height:150px; }
 .es-design-study__palette { width:172px; padding:12px; }
 .es-design-study__palette i { width:23px; height:23px; }
 .es-design-study__mobile { width:118px; bottom:44px; right:0; }
 .es-design-study__mobile img { height:93px; }
 .es-design-study__mobile b { font-size:1rem; }
 .es-native-stage { min-height:360px; }
 .es-native-stage .demo { min-height:340px; }
}
.es-solutions .sol-rest[data-curtain-frame="portrait"] {
  --curtain-tablet-focus: 50% 15%;
}
@media (min-width: 761px) and (max-width: 1080px) {
  .es-solutions .sol-rest[data-curtain-frame="portrait"] .rest__photo {
    height: 100vw;
  }
  .es-solutions .sol-rest[data-curtain-frame="portrait"] .rest__photo img {
    object-position: var(--curtain-tablet-focus);
  }
}
