
.tag--dark { color: var(--blue-dark-txt); }

h1 .prompt { display: block; max-width: none; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-wrap: wrap; }

h1 .prompt::before { content: "› "; content: "› " / ""; }
h1 .prompt::after { content: "_"; content: "_" / ""; color: var(--on-dark-2); }
@media (min-width: 360px) { .h1__end { white-space: nowrap; }
}
.claim { margin-top: 22px; font-weight: 700; font-size: 1.12rem; color: #fff; display: inline-flex; align-items: center; gap: 10px; }
.claim::before { content: ""; width: 18px; height: 2px; background: var(--blue); }
@media (max-width: 599px) {
  .claim { margin-top: 16px; }
}
@media (prefers-reduced-motion: no-preference) {
  .js .band > .gx { transform: scale(1.06); transition: transform 1600ms var(--ease-expo); }
  .js .band.is-in > .gx { transform: none; }
}


.biz { margin-bottom: 56px; }
@media (max-width: 1023px) { .biz { margin-bottom: 40px; }
}
.biz__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

.biz__card { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; background: var(--navy); isolation: isolate; box-shadow: var(--shadow-sm); }
.biz__card img { width: 100%; height: 100%; object-fit: cover; }

.biz__card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(11,31,63,0) 30%, rgba(11,31,63,.55) 62%, rgba(11,31,63,.92)); }
.biz__name { position: absolute; left: 14px; right: 14px; bottom: 12px; z-index: 2; color: #fff; font-weight: 700; font-size: 1.05rem; line-height: 1.25; }
.biz__name small { display: block; margin-top: 2px; font-weight: 500; font-size: 13.5px; color: rgba(255,255,255,.86); }
@media (max-width: 1023px) { .biz__card { aspect-ratio: 4 / 3; } .biz__list { gap: 12px; }
}
@media (min-width: 640px) and (max-width: 1023px) { .biz__name small { display: none; } .biz__name { font-size: .98rem; }
}
@media (max-width: 639px) {
  .biz__scroll { margin: 0 calc(var(--gutter) * -1); padding: 2px var(--gutter) 6px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .biz__scroll:focus-visible { outline-offset: -3px; }
  .biz__list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 64%; gap: 10px; }
  .biz__card { aspect-ratio: 16 / 10; scroll-snap-align: start; }
}
.zona { position: relative; margin-top: 44px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 24px 56px; align-items: center; padding: 26px 28px 22px 40px; border-radius: var(--radius-lg); background: radial-gradient(700px 400px at 100% 0%, rgba(61, 123, 255, .16), rgba(61, 123, 255, 0) 60%), var(--navy); color: #fff; overflow: hidden; isolation: isolate; }
.zona h2 { font-size: clamp(1.5rem, 2.5vw, 2.05rem); letter-spacing: -.025em; }
.zona__text > p { margin-top: 12px; color: var(--on-dark); font-size: 16.5px; max-width: 52ch; }

.zona__chips { display: flex; flex-wrap: wrap; gap: 0; margin-top: 16px; margin-left: -18px; clip-path: inset(-6px 0 -6px 18px); font-size: 15px; font-weight: 500; line-height: 1.9; color: var(--on-dark); }
.zona__chips li { transition: opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out); }
.zona__chips li::before { content: "·"; display: inline-block; width: 18px; text-align: center; color: var(--on-dark-2); }
.zona__chips .is-remote { color: #fff; font-weight: 700; white-space: nowrap; }
@media (min-width: 600px) {
  .zona__chips .is-remote::before { content: ""; }
  .zona__chips .is-remote span { display: inline-block; padding: 1px 11px; border-radius: 999px; background: var(--blue-strong); line-height: 1.6; }
}
.zona__chips li:nth-child(2) { transition-delay: 40ms; } .zona__chips li:nth-child(3) { transition-delay: 80ms; }
.zona__chips li:nth-child(4) { transition-delay: 120ms; } .zona__chips li:nth-child(5) { transition-delay: 160ms; }
.zona__chips li:nth-child(6) { transition-delay: 200ms; } .zona__chips li:nth-child(7) { transition-delay: 240ms; }
.zona__chips li:nth-child(8) { transition-delay: 280ms; } .zona__chips li:nth-child(9) { transition-delay: 320ms; }
.zona__chips li:nth-child(10) { transition-delay: 400ms; }
@media (max-width: 899px) {
  .zona { grid-template-columns: minmax(0, 1fr); padding: 28px 24px 24px; }
  .zona .lp { width: 100%; max-width: 460px; }
}
@media (min-width: 600px) and (max-width: 899px) { .zona .lp { margin-inline: auto; }
}

.zona__bg { position: absolute; left: 0; top: 0; width: 62%; height: 100%; object-fit: cover; z-index: -2; opacity: .38; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, #000 35%, transparent 92%); mask-image: linear-gradient(90deg, #000 35%, transparent 92%);
  transition: opacity var(--dur-4) var(--ease-out), scale var(--dur-4) var(--ease-out); }
.js .zona:not(.is-visible) .zona__bg { opacity: 0; scale: 1.06; }
@media (max-width: 899px) { .zona__bg { width: 100%; height: 240px; -webkit-mask-image: linear-gradient(180deg, #000 30%, transparent); mask-image: linear-gradient(180deg, #000 30%, transparent); }
}
@media (max-width: 599px) {
  .zona { margin-top: 28px; padding: 24px 16px 18px; border-radius: 20px; gap: 22px; }
  .zona__text { padding: 0 4px; }
  .zona__text > p { font-size: 16px; }
  .zona__chips { margin-top: 12px; font-size: 14px; line-height: 1.85; }
  .zona__chips .is-remote { color: var(--blue-dark-txt); }
}

.consult__grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 56px; align-items: start; }
.consult__text { display: grid; gap: 18px; }
.consult__text .tag { margin-bottom: 0; }

.consult__head { max-width: none; margin: 0; display: grid; gap: inherit; }
.consult__lead { font-size: 1.15rem; max-width: 46ch; }

.consult__get { display: grid; gap: 10px; max-width: 46ch; }
.consult__get li { position: relative; padding-left: 32px; font-size: 1.02rem; line-height: 1.5; color: var(--on-dark); }
.consult__get li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat; }
.consult__alt { font-size: 15.5px; }
.consult__alt a { color: #fff; font-weight: 700; text-underline-offset: 4px; text-decoration-color: var(--blue); display: inline-block; padding: 6px 0; }
.alt > span:not([hidden]) ~ span:not([hidden])::before { content: " · "; }
.consult__ps { margin-top: 6px; padding-top: 18px; border-top: 1px solid var(--line-dark); display: grid; gap: 8px; max-width: 46ch; font-size: 1.02rem; font-style: italic; line-height: 1.55; }
.consult__ps strong { font-style: normal; color: #fff; }

.consult__ps { font-family: var(--serif); }
.consult__ps p { font-size: 1.24rem; line-height: 1.4; letter-spacing: 0; }
.consult__ps strong { font-family: var(--font); font-size: .8em; letter-spacing: .02em; }
.consult__ps .consult__sign { font-family: var(--font); font-size: 1rem; }
.consult__sign { font-style: normal; font-weight: 700; color: #fff; }

.consult__diag { display: none; }
@media (min-width: 1024px) {
  .consult__diag { display: grid; gap: 10px; margin: 6px 0 0; max-width: 420px; padding: 16px 18px 14px; border-radius: var(--radius); border: 1px solid transparent;
    background: linear-gradient(#10295A, #10295A) padding-box, linear-gradient(135deg, rgba(127, 178, 255, .55), rgba(178, 160, 255, .30) 55%, rgba(255, 255, 255, .08)) border-box; }
  .consult__diag img { width: 100%; height: auto; }
  .consult__diag figcaption { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 14.5px; line-height: 1.45; color: var(--on-dark); }
}
@media (min-width: 1024px) and (min-height: 720px) { .consult .form-card { position: sticky; top: calc(var(--header-h) + 24px); }
}


.form-card { background: #fff; color: var(--ink); border-radius: var(--radius); overflow: hidden; box-shadow: 0 30px 60px -40px rgba(0,0,0,.6); scroll-margin-top: calc(var(--header-h) + 16px); }
.form-card__head { display: flex; align-items: center; gap: 12px; padding: 12px 18px; background: var(--gray); border-bottom: 1px solid var(--line); font-size: 14.5px; font-weight: 600; color: var(--navy); }
.form-card__head .term__dots i { background: var(--line-2); }

.form-card__head { position: relative; }
.form-card__head::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--blue-strong); transform-origin: left; transform: scaleX(var(--fp, 0)); transition: transform var(--dur-3) var(--ease-in-out); }
.form-card__head .term__dots i { transition: background-color var(--dur-2) var(--ease-out); }
.form-card.is-ready .form-card__head .term__dots i { background: var(--blue); }
.form-card.is-ready .form-card__head .term__dots i:nth-child(2) { transition-delay: 80ms; }
.form-card.is-ready .form-card__head .term__dots i:nth-child(3) { transition-delay: 160ms; }
.form-card.is-ready .form .btn--primary::after { animation: sheen 900ms var(--ease-in-out) .15s 1; }
:where(.form-card) p { color: inherit; }

@media (max-width: 1023px) {
  .consult__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .consult__text { position: static; gap: 12px; }
  .consult__ps { display: none; }
}
@media (max-width: 599px) {
  .consult__lead { font-size: 1.04rem; }
}
@media (prefers-reduced-motion: reduce) {
  .js .zona:not(.is-visible) .zona__bg { opacity: .38; scale: 1; }
}
@supports (content-visibility: auto) {
  #metodo { --cis: 935px; } #servicios { --cis: 1860px; } #nosotros { --cis: 1040px; } #proceso { --cis: 790px; } #consulta { --cis: 1560px; }
  @media (min-width: 600px) {
    #metodo { --cis: 845px; } #servicios { --cis: 2170px; } #nosotros { --cis: 900px; } #proceso { --cis: 710px; } #consulta { --cis: 1180px; }
}
  @media (min-width: 960px) {
    #metodo { --cis: 780px; } #servicios { --cis: 1660px; } #nosotros { --cis: 695px; } #proceso { --cis: 530px; } #consulta { --cis: 975px; }
}
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .zona__bg { top: -24px; height: calc(100% + 48px); animation: plx linear both; animation-timeline: view(); animation-range: cover; }
}
}
@media (prefers-reduced-motion: no-preference) and (max-width: 899px) {
  @supports (animation-timeline: view()) { .zona__bg { height: 288px; }
}
}


.g-text--dark { color: #BFD3FF; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .g-text--dark {
    background-image: var(--g-text-on-dark); -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    -webkit-box-decoration-break: clone; box-decoration-break: clone; padding-bottom: .04em;
  }
}

.g-chip { display: inline-flex; align-items: center; gap: 8px; padding: 4px 11px; border-radius: 999px; border: 1px solid transparent; font-size: 13px; font-weight: 500; line-height: 1.3; white-space: nowrap; }
.g-chip--dark { color: #DCE6FF; background: linear-gradient(135deg, rgba(61, 123, 255, .16), rgba(139, 124, 255, .12)) padding-box, linear-gradient(135deg, rgba(127, 178, 255, .55), rgba(178, 160, 255, .30)) border-box; }
.g-chip__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--g-brand); flex-shrink: 0; }
.g-tile {
  display: inline-grid; place-items: center; flex-shrink: 0; width: 48px; height: 48px; border-radius: 14px; border: 1px solid transparent;
  background: linear-gradient(160deg, #FFFFFF 0%, #F1F5FF 55%, #F3F0FF 100%) padding-box,
              linear-gradient(150deg, rgba(61, 123, 255, .40), rgba(139, 124, 255, .22) 60%, rgba(226, 231, 239, 1)) border-box;
  box-shadow: 0 1px 0 #fff inset, 0 6px 14px -10px rgba(42, 98, 232, .45);
}
.g-tile > img { width: 30px; height: 30px; }
.claim::before { background: var(--g-rail); }
.hero .mw::before { inset: -12% -14% -4% -14%; background: var(--g-glow-mockup); }


#metodo { position: relative; isolation: isolate; }
#metodo::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(rgba(61, 123, 255, .26) 1px, transparent 1.6px); background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(60% 70% at 92% 8%, #000, transparent 72%); mask-image: radial-gradient(60% 70% at 92% 8%, #000, transparent 72%);
}
.method__line span { background: var(--g-rail); }
.method.is-visible .node__dot { background: var(--g-brand); border-color: #fff; box-shadow: 0 0 0 1px rgba(61, 123, 255, .35), 0 4px 10px -4px rgba(76, 88, 230, .6); }
.node__art { position: relative; margin: 4px 0 10px; max-width: 320px; border-radius: 14px; overflow: hidden; background: #fff; border: 1px solid #E6EAF2; box-shadow: var(--g-shadow-card); aspect-ratio: 280 / 180; }
.node__art img { width: 100%; height: 100%; object-fit: cover; }
.node__art .node__num {
  position: absolute; left: 10px; bottom: 10px; display: block; padding: 2px 9px; border-radius: 999px;
  font-family: var(--mono); font-size: 12.5px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
  background: rgba(255, 255, 255, .92); border: 1px solid #E2E7EF; color: var(--blue-text);
}
@media (max-width: 899px) { .method__line span { background: var(--g-rail-v); }
}
@media (max-width: 767px) {
  .node { display: grid; grid-template-columns: minmax(0, 1fr) 112px; column-gap: 14px; row-gap: 6px; align-items: start; }
  .node > * { grid-column: 1 / -1; }
  .node > .node__phase { grid-row: 1; grid-column: 1; }
  .node > .node__art { grid-column: 2; grid-row: 1 / span 2; margin: 2px 0 0; border-radius: 10px; box-shadow: 0 6px 16px -10px rgba(42, 98, 232, .35); }
  .node > .node__q { grid-row: 2; grid-column: 1; }
  .node > .node__q + p { grid-row: 3; grid-column: 1 / -1; }
  .node__art .node__num { display: none; }
}
@media (min-width: 768px) and (max-width: 899px) {
  .node { display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 28px; row-gap: 6px; align-content: start; }
  .node > * { grid-column: 2; }
  .node > .node__art { grid-column: 1; grid-row: 1 / span 4; margin: 0; }
  .node > .node__dot { grid-column: auto; grid-row: auto; }
}


#servicios { position: relative; isolation: isolate; }
#servicios::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(30% 42% at 100% 0%, rgba(61, 123, 255, .10), rgba(61, 123, 255, 0) 72%), radial-gradient(26% 38% at 0% 100%, rgba(139, 124, 255, .09), rgba(139, 124, 255, 0) 72%);
}
.svc__icon { margin-bottom: 12px; }
.svc:has(.svc__link:focus-visible) { border-radius: var(--radius); }
@media (min-width: 640px) {
  .svcs { gap: 20px; }
  .svc { padding: 22px 22px 18px; border: 1px solid #E6EAF2; border-radius: var(--radius); background: #fff; box-shadow: var(--g-shadow-card); transition: box-shadow var(--dur-2) var(--ease-out), translate var(--dur-2) var(--ease-out); }
  .svc::before {
    content: ""; position: absolute; inset: -1px; z-index: 0; pointer-events: none; border-radius: inherit; padding: 1px; background: var(--g-brand);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
            mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    opacity: 0; transition: opacity var(--dur-2) var(--ease-out);
  }
  .svc:focus-within::before { opacity: 1; }
}
@media (min-width: 640px) and (hover: hover) { .svc:hover { box-shadow: var(--g-shadow-card-hover); translate: 0 -2px; } .svc:hover::before { opacity: 1; }
}
@media (max-width: 639px) { .svc__icon { margin-bottom: 8px; }
}


.zona { background: var(--g-aurora-band), var(--navy); }
@media (min-width: 600px) { .zona__chips .is-remote span { background: var(--g-brand-strong); }
}
.zona .lp__screen { box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .7), 0 40px 110px -50px rgba(91, 108, 245, .6); }


.steps__rail span { background: var(--g-rail); }
@media (max-width: 767px) { .steps__rail span { background: var(--g-rail-v); }
}
.step.is-on::before, html:not(.js) .step::before { background: var(--g-brand); border-color: #fff; box-shadow: 0 0 0 1px rgba(61, 123, 255, .35); }



.consult { isolation: isolate; }
.consult::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url("img/deco/bg-vuelo.svg") right bottom / min(1100px, 120%) auto no-repeat; opacity: .9; }
@media (max-width: 767px) { .consult::before { background-size: 180% auto; background-position: 70% 100%; opacity: .6; }
}
.consult__get li::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat, var(--g-brand-strong);
  box-shadow: 0 0 0 3px rgba(61, 123, 255, .14);
}
.consult__ps { border-top: 0; position: relative; }
.consult__ps::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--g-line-dark); }
.form-card { box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 30px 60px -40px rgba(0, 0, 0, .6), 0 40px 120px -40px rgba(91, 108, 245, .55); }
.form-card__head::after { background: var(--g-rail); }
.form-card.is-ready .form-card__head .term__dots i { background: var(--g-brand); }
@media (forced-colors: active) { .g-text--dark { background: none; -webkit-text-fill-color: currentColor; color: CanvasText; }
}
@media (prefers-reduced-motion: reduce) {
  .svc, .svc::before { transition: none; }
  .svc:hover { translate: none; }
}
#problema:has(> .pband) { padding-bottom: 0; }
.pband { position: relative; isolation: isolate; overflow: hidden; margin-top: 72px; color: #fff; background: var(--navy);
  min-height: clamp(27rem, 58vh, 33rem); display: grid; align-items: end; }
.pband__media { position: absolute; inset: 0; z-index: -2; }
.pband__media img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 60%; }

.pband::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(11, 31, 63, .86) 0%, rgba(11, 31, 63, .62) 34%, rgba(11, 31, 63, .14) 62%, rgba(11, 31, 63, 0) 82%),
    linear-gradient(0deg, rgba(11, 31, 63, .8) 0%, rgba(11, 31, 63, 0) 48%); }

.pband::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.pband__inner { padding-block: clamp(3.5rem, 6vw, 5.5rem) clamp(2.5rem, 4.5vw, 3.75rem); }
.pband__big { font-size: clamp(2.15rem, 1.2rem + 4vw, 5rem); font-weight: 600; letter-spacing: -.035em; line-height: .98; max-width: 12.5em; text-wrap: balance; }
.pband__big .l { display: block; }
.pband__big .l2 { color: rgba(255, 255, 255, .64); font-weight: 500; }
.pband__big em.sf { color: #fff; }
.pband__p { margin-top: clamp(1rem, 1.8vw, 1.5rem); max-width: 34ch; font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); line-height: 1.55; color: rgba(255, 255, 255, .84); }

.pband__cta { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 14px; max-width: 40rem; margin-top: clamp(1.25rem, 2vw, 1.75rem); padding-top: 14px;
  font-size: 1.02rem; line-height: 1.45; color: #fff; }
.pband__cta::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, rgba(255, 255, 255, .38), rgba(255, 255, 255, 0)); }
.pband__cta a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: #CFE0FF; text-decoration: underline; text-decoration-color: transparent;
  text-underline-offset: 5px; text-decoration-thickness: 1.5px; transition: color var(--dur-1), text-decoration-color var(--dur-1); }
.pband__cta a:hover { color: #fff; text-decoration-color: currentColor; }
.pband__cta a:focus-visible { outline: 3px solid #8DB0FF; outline-offset: 3px; border-radius: 6px; }
@media (hover: hover) { .pband__cta a:hover .btn__arrow { translate: 3px 0; }
}
@media (max-width: 379px) {
  .pband__cta a { display: inline-block; padding-block: 10px; }
  .pband__cta a .btn__arrow { margin-left: 6px; }
}
.pband__meta { position: absolute; right: clamp(16px, 3vw, 40px); bottom: clamp(14px, 2.4vw, 28px); font-family: var(--mono); font-size: 11.5px; letter-spacing: .06em; color: rgba(255, 255, 255, .6); }
@media (max-width: 699px) {
  .pband { margin-top: 48px; min-height: 0; }
  .pband__media img { object-position: 50% 40%; }
  .pband::before { background: linear-gradient(0deg, rgba(11, 31, 63, .96) 0%, rgba(11, 31, 63, .8) 34%, rgba(11, 31, 63, .1) 62%, rgba(11, 31, 63, .22) 100%); }
  .pband__inner { padding-block: 11rem 2rem; }
  .pband__big { font-size: 2.25rem; }
  .pband__meta { display: none; }
}
.node__art--photo { max-width: 100%; background: var(--navy); border: 0; box-shadow: 0 24px 40px -28px rgba(11, 31, 63, .55); }
.node__art--photo > .node__photo { width: 100%; height: 100%; object-fit: cover; }
.node__art--photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(11, 31, 63, 0) 55%, rgba(11, 31, 63, .55) 100%); }
.node__art--photo .node__num { z-index: 2; background: rgba(11, 31, 63, .6); border-color: rgba(255, 255, 255, .22); color: #fff; }
.node__art .node__chip { position: absolute; z-index: 2; right: 12px; bottom: 12px; width: 44%; height: auto; object-fit: contain; border-radius: 10px;
  box-shadow: 0 14px 28px -12px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .5); }
@media (max-width: 767px) { .node__art--photo .node__chip { display: none; }
}
.faq__photo { position: relative; margin: clamp(1.5rem, 3vw, 2.25rem) 0 0; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 5; max-width: 300px;
  background: var(--navy); box-shadow: 0 30px 50px -34px rgba(11, 31, 63, .6); --mr: 16px; }
.faq__photo img { width: 100%; height: 100%; object-fit: cover; }
.faq__photo figcaption { position: absolute; left: 12px; right: 12px; bottom: 12px; width: max-content; max-width: calc(100% - 24px); padding: 6px 11px; border-radius: 999px;
  font-family: var(--mono); font-size: 11px; letter-spacing: 0; white-space: nowrap; color: #fff; background: rgba(11, 31, 63, .62); border: 1px solid rgba(255, 255, 255, .2); }
@media (max-width: 899px) { .faq__photo { display: none; }
}
.frena { margin-top: 56px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px 40px; align-items: stretch;
  padding: 32px; border-radius: var(--radius-lg); border: 1px solid transparent;
  background: #fff padding-box, linear-gradient(120deg, rgba(61, 123, 255, .4), rgba(139, 124, 255, .28) 50%, rgba(226, 231, 239, .9)) border-box;
  box-shadow: var(--g-shadow-card); }
.frena__set { min-width: 0; margin: 0; padding: 0; border: 0; }
.frena__q { display: block; float: left; width: 100%; margin-bottom: 18px; padding: 0; font-size: clamp(1.3rem, 1.1rem + .7vw, 1.62rem); font-weight: 700; line-height: 1.2; letter-spacing: -.02em; color: var(--navy); text-wrap: balance; }
.frena__k { display: block; margin-bottom: 8px; font-family: var(--mono); font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--blue-text); }
.frena__opts { clear: both; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

.frena__opt input { appearance: none; -webkit-appearance: none; position: absolute; inset: 0; z-index: 1; margin: 0; border-radius: inherit; background: none; cursor: pointer; }
.frena__opt input:focus-visible { outline: 3px solid var(--blue-strong); outline-offset: 2px; }
.frena__ic svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.frena__t { display: grid; gap: 2px; min-width: 0; }
.frena__t b { font-size: 16px; line-height: 1.25; font-weight: 700; color: var(--navy); }
.frena__t small { font-size: 13.5px; line-height: 1.35; color: var(--muted); text-wrap: balance; }
@media (hover: hover) { .frena__opt:hover { border-color: var(--line-2); background: #fff; translate: 0 -1px; }
}
.frena__opt:active { scale: .99; }
@media (min-width: 600px) { .frena__opt { align-items: flex-start; } .frena__ic { margin-top: 1px; }
}
@media (min-width: 1024px) and (max-width: 1199px) { .frena__opts { grid-template-columns: minmax(0, 1fr); }
}
.frena__opt:has(input:checked) { background: #fff; border-color: transparent; box-shadow: 0 0 0 1.5px var(--blue-strong), 0 12px 26px -16px rgba(42, 98, 232, .6); }
.frena__opt:has(input:checked)::after { scale: 1; }
.frena__opt:has(input:checked) .frena__ic { background: var(--g-brand-strong); color: #fff; box-shadow: none; animation: frena-pop 460ms var(--ease-spring); }
.frena__opt--ns .frena__ic { color: var(--muted); }


.frena__out { display: grid; align-content: center; gap: 20px; padding: 26px 26px 24px; border-radius: 18px; color: var(--on-dark);
  background: radial-gradient(70% 90% at 100% 0%, rgba(91, 108, 245, .28), rgba(91, 108, 245, 0) 70%), linear-gradient(158deg, #0B1F3F 0%, #0D1B47 62%, #141A52 100%); }

.frena__res-wrap { min-height: 7.4em; display: grid; align-items: center; }
.frena__res { grid-area: 1 / 1; display: block; visibility: hidden; opacity: 0; margin: 0; font-size: 1.02rem; line-height: 1.55; color: var(--on-dark); }
.frena__res b { display: block; margin-bottom: 4px; font-size: 1.1rem; color: #fff; letter-spacing: -.01em; }
.frena__res--0 { visibility: visible; opacity: 1; color: var(--on-dark-2); }
.frena:has(input:checked) .frena__res--0 { visibility: hidden; opacity: 0; }
.frena:has(input[value="encuentran"]:checked) .frena__res[data-for="encuentran"],
.frena:has(input[value="eligen"]:checked) .frena__res[data-for="eligen"],
.frena:has(input[value="escriben"]:checked) .frena__res[data-for="escriben"],
.frena:has(input[value="nose"]:checked) .frena__res[data-for="nose"] { visibility: visible; opacity: 1; animation: frena-in 460ms var(--ease-out); }
.frena__cta .micro { color: var(--on-dark-2); }
.frena__cta .btn { width: 100%; }
@media (max-width: 1023px) {
  .frena { grid-template-columns: minmax(0, 1fr); padding: 26px 24px; }
  .frena__res-wrap { min-height: 0; }
}

@media (min-width: 1200px) { .frena { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); } }
@media (max-width: 599px) {
  .frena { margin-top: 40px; padding: 22px 16px 18px; border-radius: var(--radius); gap: 20px; }
  .frena__opts { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .frena__opt { min-height: 64px; }
  .frena__out { padding: 22px 18px 20px; gap: 16px; }
}
.faq__go { margin-top: 4px; }
.faq__a p + p:not(.faq__go) { margin-top: 10px; }
.faq__go a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: var(--blue-strong); text-decoration: none; }
.faq__go a:hover { text-decoration: underline; text-underline-offset: 4px; }
.faq__go a:hover .btn__arrow { translate: 3px 0; }
.mw__cap-go:hover { color: #fff; text-decoration-color: var(--blue); }
.mw__cap-go:hover .btn__arrow { translate: 3px 0; }
.consult__after { display: none; }
@media (max-width: 1023px) {
  .consult__text .consult__alt { display: none; }
  .consult__after { display: grid; gap: 14px; }
  .consult__ps-m { position: relative; padding-top: 18px; font-family: var(--serif); font-size: 1.2rem; font-style: italic; line-height: 1.4; color: var(--on-dark); }
  .consult__ps-m::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--g-line-dark); }
  .consult__ps-m strong { font-family: var(--font); font-size: .8em; letter-spacing: .02em; font-style: normal; color: #fff; }
  .consult__ps-m .consult__sign { display: block; margin-top: 6px; font-family: var(--font); font-size: .8em; font-style: normal; font-weight: 700; color: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  .frena__res, .frena__opt:has(input:checked) .frena__ic { animation: none !important; }
}
.frena { margin-top: 44px; }
@media (max-width: 599px) {
  .frena { margin-top: 32px; }
  .frena__opt { min-height: 58px; padding-block: 9px; }
  .frena__out { padding: 20px 16px 18px; }
}
@media (min-width: 1024px) { .frena__set { align-self: center; }
}

.mw__cap-go { padding-block: 12px; margin-block: -12px; }

@media (prefers-reduced-motion: no-preference) {
  .hero__copy:has(> .h1-split) .hero__actions--trust { --trust-at: calc(var(--h-cta, 1220ms) + 260ms); }
}
.h1-split .w { display: inline-block; }
.h1-split .w > span, .h1-split .w--land > span { display: inline-block; }

.h1-split .w--land > span { padding: .62em .12em; margin: -.62em -.12em; }
@media (prefers-reduced-motion: no-preference) {
  .hero__copy > h1.h1-split { animation: none; }
  .h1-split .prompt { animation: fade-up 600ms var(--ease-expo) backwards; }

  .h1-split .w { animation: h-mask var(--t-hero) linear calc(var(--h0) + var(--wi, 0) * var(--stg-word)) backwards; }
  .h1-split .w > span { transform-origin: 0 100%; animation: h-rise var(--t-hero) var(--ease-expo) calc(var(--h0) + var(--wi, 0) * var(--stg-word)) backwards; }
  .h1-split .h1__dim :is(.w, .w > span) { animation-delay: calc(var(--h1) + var(--wi, 0) * var(--stg-word)); }
  .h1-split [data-w="2"] { --wi: 1; } .h1-split [data-w="3"] { --wi: 2; }
  .h1-split [data-w="6"] { --wi: 1; } .h1-split [data-w="7"] { --wi: 2; } .h1-split [data-w="8"] { --wi: 3; } .h1-split [data-w="9"] { --wi: 4; } .h1-split [data-w="10"] { --wi: 5; }

  .h1-split .w--land > span { transform-origin: 30% 90%; animation: h-land 1100ms var(--ease-land) 380ms backwards, h-sheen 1100ms var(--ease-wipe) 880ms 1 both; }
  @supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .h1-split .w--land > .g-text--dark { background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 38%, rgba(255, 255, 255, .95) 50%, rgba(255, 255, 255, 0) 62%), var(--g-text-on-dark); background-size: 260% 100%, 100% 100%; background-repeat: no-repeat; background-position: 130% 0, 0 0; }
}

  .hero__copy:has(> .h1-split) > :nth-child(2) { animation: fade-up 800ms var(--ease-expo) var(--h-lead) backwards; }
  .hero__copy:has(> .h1-split) > :nth-child(3) { animation: fade-up 800ms var(--ease-expo) calc((var(--h-lead) + var(--h-cta)) / 2) backwards; }
  .hero__copy:has(> .h1-split) > :nth-child(n+4) { animation: fade-up 800ms var(--ease-expo) var(--h-cta) backwards; }
  .hero__copy:has(> .h1-split) .claim::before { transform-origin: left center; animation: draw-x 700ms var(--ease-expo) calc(var(--h-cta) + 120ms) backwards; }


  .hero:has(.h1-split) .mw { animation: mw-in-v15 1300ms var(--ease-expo) 1650ms backwards; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
  .h1-split .w--land > span { animation: h-land 1100ms var(--ease-land) 380ms backwards, h-blur 440ms linear 380ms backwards, h-sheen 1100ms var(--ease-wipe) 880ms 1 both; }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 767px) {
  .hero:has(.h1-split) .mw { animation: fade-up 900ms var(--ease-expo) 1150ms backwards; }
}


.method.method--rail .method__line span { transform: scaleY(var(--mp, 0)); transition: none; }
.method--rail.is-visible .node .node__dot { transition-delay: 0ms; }
.method--rail.is-visible .node:not(.is-on) .node__dot { background: var(--gray); border-color: var(--line-2); box-shadow: none; scale: .8; }
.method--rail .node__dot { transition: border-color var(--t-hover), background-color var(--t-hover), scale 600ms var(--ease-land); }
@supports (animation-timeline: view()) {
  .method--rail .method__line { view-timeline: --rail block; view-timeline-inset: 45% 50%; }
  .method--rail .method__line span { transform: none; animation: rail-y linear both; animation-timeline: --rail; animation-range: cover 0% cover 100%; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 900px) {

  .js .method .node__art--photo::before { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: var(--navy); transform-origin: 0% 50%; transition: transform 820ms var(--ease-quart) var(--dd, 0ms); }
  .js .method.is-visible .node__art--photo::before { transform: scaleX(0); }
  .js .method .node__photo { scale: 1.08; transition: scale var(--t-media) var(--ease-expo) var(--dd, 0ms); }
  .js .method.is-visible .node__photo { scale: 1; }
  .js .method .node__chip { opacity: 0; translate: 0 14px; scale: .94;
    transition: opacity 500ms var(--ease-expo) calc(var(--dd, 0ms) + 450ms), translate 800ms var(--ease-land) calc(var(--dd, 0ms) + 450ms), scale 800ms var(--ease-land) calc(var(--dd, 0ms) + 450ms); }
  .js .method.is-visible .node__chip { opacity: 1; translate: none; scale: none; }

  .js .method .node:nth-child(1) { --dd: 100ms; }
  .js .method .node:nth-child(2) { --dd: 400ms; }
  .js .method .node:nth-child(3) { --dd: 600ms; }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 899px) {
  .js .method--rail .node__art--photo { clip-path: circle(0% at 70% 50%); }
  .js .method--rail .node.is-seen .node__art--photo { animation: door-iris-m 900ms var(--ease-wipe) both; }
  .js .method--rail .node__photo { scale: 1.1; transition: scale var(--t-media) var(--ease-expo); }
  .js .method--rail .node.is-seen .node__photo { scale: 1; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .method.is-visible .node:hover .node__photo { scale: 1.04; transition: scale 600ms var(--ease-quart); }
  .method.is-visible .node:hover .node__chip { translate: 0 -4px; transition: translate 400ms var(--ease-quart); }
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .pband__media img { animation: pband-dolly linear none; animation-timeline: view(); animation-range: cover; }
}
  .js .pband__inner.reveal { opacity: 1; transform: none; }
  .js .pband__inner.reveal .l { clip-path: inset(0 -.1em 100% -.1em); translate: 0 .35em; transition: translate var(--t-title) var(--ease-expo); }
  .js .pband__inner.reveal.is-visible .l { animation: band-line var(--t-title) var(--ease-wipe) both; translate: none; }
  .js .pband__inner.reveal.is-visible .l2 { animation-delay: 140ms; transition-delay: 140ms; }
  .js .pband__inner.reveal :is(.pband__p, .pband__cta) { opacity: 0; translate: 0 var(--rise); transition: opacity var(--t-text) var(--ease-expo), translate var(--t-text) var(--ease-expo); }
  .js .pband__inner.reveal.is-visible .pband__p { opacity: 1; translate: none; transition-delay: 560ms; }
  .js .pband__inner.reveal.is-visible .pband__cta { opacity: 1; translate: none; transition-delay: 700ms; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 900px) {
  #nosotros { overflow-x: clip; }
  .js .team.reveal > .who:nth-child(1) { translate: -40px 0; }
  .js .team.reveal > .who:nth-child(2) { translate: 40px 0; }
  .js .team.reveal > .who {
    transition: opacity var(--t-text) var(--ease-expo) calc(var(--rd, 0ms) + var(--rd-x, 0ms) + var(--si, 0) * var(--stg-item)),
                transform var(--t-text) var(--ease-expo) calc(var(--rd, 0ms) + var(--rd-x, 0ms) + var(--si, 0) * var(--stg-item)),
                translate 1100ms var(--ease-expo) calc(var(--rd, 0ms) + var(--rd-x, 0ms) + var(--si, 0) * var(--stg-item));
  }
  .js .team.reveal.is-visible > .who { translate: none; }
}

.svc__more { position: relative; z-index: 2; color: var(--blue-text); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(33, 86, 214, .4); transition: text-decoration-color .2s, color .2s; }
.svc__more:hover { color: var(--blue-hover); text-decoration-color: currentColor; }

@media (prefers-reduced-motion: no-preference) and (min-width: 1024px) {
  .js .consult .form-card.reveal { transition-delay: calc(var(--rd, 0ms) + 260ms); }
}


.hero__actions--trust .hero__more { grid-column: 1 / -1; grid-row: 3; justify-self: start; display: inline-flex; align-items: center; gap: 6px; min-height: 32px;
  font-size: 14.5px; font-weight: 500; color: var(--on-dark); text-decoration: underline; text-decoration-color: rgba(141, 176, 255, .45); text-underline-offset: 4px;
  transition: color var(--dur-1), text-decoration-color var(--dur-1); }
.hero__actions--trust .hero__more:hover { color: #fff; text-decoration-color: currentColor; }
@media (max-width: 599px) { .hero__actions--trust .hero__more { grid-row: 4; margin-top: -6px; } }
