:root {
  --operation-ink: var(--eco-ink);
  --operation-navy: var(--eco-navy);
  --operation-blue: var(--eco-blue);
  --operation-acid: var(--eco-acid);
  --operation-paper: var(--eco-paper);
  --operation-mist: var(--eco-mist);
  --operation-line: var(--eco-line);
  --operation-muted: var(--qz-color-blue-700);
}

.operation-hero {
  position: relative;
  min-height: min(48rem, 88svh);
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgb(23 45 215 / 10%) 1px, transparent 1px),
    linear-gradient(rgb(23 45 215 / 10%) 1px, transparent 1px),
    radial-gradient(circle at 82% 45%, rgb(23 45 215 / 35%), transparent 30rem),
    var(--operation-navy);
  background-size: 4rem 4rem, 4rem 4rem, auto, auto;
  color: #fff;
  isolation: isolate;
}
.operation-hero__inner { position: relative; z-index: 2; padding-block: clamp(6.75rem, 9vw, 8.5rem) clamp(3rem, 5vw, 4rem); }
.operation-kicker {
  margin: 0 0 1rem;
  color: var(--operation-acid);
  font-family: var(--qz-font-display);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.operation-hero h1 { max-width: 62rem; margin: 0; color: #fff; font-size: clamp(2.9rem, 5.2vw, 5.4rem); line-height: .98; letter-spacing: -.06em; }
.operation-hero h1 span { display: block; color: var(--operation-acid); }
.operation-hero__lead { max-width: 48rem; margin: 1.5rem 0 0; color: rgb(255 255 255 / 78%); font-size: clamp(1.02rem, 1.5vw, 1.2rem); line-height: 1.65; }
.operation-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; margin-top: 1.8rem; }
.operation-text-link { display: inline-flex; align-items: center; gap: .55rem; color: #fff; font-weight: 800; }
.operation-text-link span { color: var(--operation-acid); transition: transform .2s var(--qz-ease); }
.operation-text-link:hover span { transform: translateY(.25rem); }

.operation-problems { background: #fff; }
.operation-signals { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 2px solid var(--operation-ink); }
.operation-signal { min-height: 21rem; padding: 2rem; border-right: 1px solid var(--operation-line); }
.operation-signal:last-child { border-right: 0; }
.operation-signal > span { display: inline-block; margin-bottom: 3rem; color: var(--operation-blue); font-family: var(--qz-font-display); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.operation-signal h3 { margin: 0 0 1rem; font-size: 1.5rem; line-height: 1.15; }
.operation-signal p { margin: 0; color: var(--operation-muted); line-height: 1.65; }

#capacidades .eco-section-head h2,
#capacidades .eco-section-head > p:last-child { color: #fff; }

.operation-route { position: relative; overflow: hidden; background: var(--operation-mist); }
.operation-route::before { content: ""; position: absolute; right: -11rem; bottom: -17rem; width: 36rem; height: 36rem; border: 1px solid rgb(23 45 215 / 15%); border-radius: 50%; box-shadow: 0 0 0 5.5rem rgb(23 45 215 / 3.5%), 0 0 0 11rem rgb(23 45 215 / 2.5%); }
.operation-route .eco-section-head { position: relative; }
.operation-route__list { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin: 4rem 0 0; padding: 0; list-style: none; }
.operation-route__list::before { content: ""; position: absolute; top: 2rem; left: 4%; right: 4%; height: 3px; background: var(--operation-line); }
.operation-route__list::after { content: ""; position: absolute; top: 2rem; left: 4%; width: 0; height: 3px; background: var(--operation-blue); transition: width 1.1s cubic-bezier(.4,0,.2,1) .2s; }
.operation-route__list.is-active::after { width: 92%; }
.operation-route__item { position: relative; z-index: 1; padding: 0 1.2rem; }
.operation-route__number { display: grid; width: 4rem; height: 4rem; margin-bottom: 2rem; place-items: center; border: 3px solid var(--operation-ink); border-radius: 50%; background: #fff; color: var(--operation-blue); font-family: var(--qz-font-display); font-weight: 900; transition: background .2s var(--qz-ease), color .2s var(--qz-ease), transform .2s var(--qz-ease); }
.operation-route__item:hover .operation-route__number { background: var(--operation-acid); color: var(--operation-ink); transform: translateY(-.25rem); }
.operation-route__item div > p:first-child { color: var(--operation-blue); font-size: .68rem; font-weight: 900; letter-spacing: .13em; }
.operation-route__item h3 { margin: .55rem 0 .7rem; font-size: 1.5rem; }
.operation-route__item div > p:last-child { color: var(--operation-muted); line-height: 1.55; }

.operation-choice { position: relative; overflow: hidden; background: var(--operation-navy); color: #fff; }
.operation-choice::after { position: absolute; right: -11rem; bottom: -18rem; width: 35rem; height: 35rem; border: 6rem solid rgb(240 255 65 / 5%); border-radius: 50%; content: ""; }
.operation-choice__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(26rem, 1.1fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.operation-choice .section-eyebrow { color: var(--operation-acid); }
.operation-choice .section-eyebrow::before { background: var(--operation-acid); }
.operation-choice h2 { margin-bottom: 1.6rem; color: #fff; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1; }
.operation-choice__intro > p:not(.section-eyebrow) { color: rgb(255 255 255 / 70%); line-height: 1.7; }
.operation-choice__intro strong { color: #fff; }
.operation-choice__options { border: 1px solid rgb(255 255 255 / 18%); border-radius: var(--qz-radius-lg); background: rgb(255 255 255 / 5%); box-shadow: 1rem 1rem 0 rgb(23 45 215 / 34%); }
.operation-choice__options article { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; align-items: center; padding: 1.15rem 1.4rem; border-bottom: 1px solid rgb(255 255 255 / 13%); transition: background .2s var(--qz-ease), transform .2s var(--qz-ease); }
.operation-choice__options article:last-child { border-bottom: 0; }
.operation-choice__options article:hover { background: rgb(240 255 65 / 10%); transform: translateX(.35rem); }
.operation-choice__options span { color: var(--operation-acid); font-family: var(--qz-font-mono); font-size: .72rem; }
.operation-choice__options h3 { margin: 0 0 .2rem; color: #fff; font-size: 1.15rem; }
.operation-choice__options p { margin: 0; color: rgb(255 255 255 / 60%); font-size: .9rem; }

.operation-experience .eco-experience__head > p:last-child { max-width: 42rem; color: var(--operation-muted); }
.operation-project-proof { background: var(--operation-mist); }
.operation-project-proof .eco-section-head > p:last-child { max-width: 44rem; color: var(--operation-muted); }
.operation-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.operation-project-card { display: flex; min-width: 0; flex-direction: column; gap: .9rem; padding: 2rem; position: relative; text-decoration: none; transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s cubic-bezier(.4,0,.2,1); }
.operation-project-card:first-child { grid-column: 1 / -1; }
.hub-card__top { display: flex; align-items: center; gap: .8rem; }
.hub-card__logo { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; }
.hub-card__logo svg { width: 100%; height: 100%; }
.hub-card__eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.hub-card__title { margin: 0; font-size: 1.75rem; font-weight: 800; line-height: 1.1; }
.hub-card__desc { max-width: 38rem; margin: 0; font-size: .95rem; line-height: 1.55; }
.hub-card__cta { display: inline-flex; align-items: center; gap: .55rem; width: fit-content; margin-top: auto; padding: .65rem 1.3rem; font-size: .82rem; font-weight: 700; }
.hub-card__cta > span { transition: transform .2s; }
.hub-card:hover .hub-card__cta > span { transform: translateX(.2rem); }
.hub-card--quaze { border: 2px solid var(--operation-blue); background: #fff; box-shadow: 8px 8px 0 var(--operation-blue); }
.hub-card--quaze:hover { transform: translate(-4px, -4px); box-shadow: 12px 12px 0 var(--operation-blue); }
.hub-card--quaze .hub-card__logo img { width: 34px; height: 34px; filter: brightness(0); }
.hub-card--quaze .hub-card__eyebrow,
.hub-card--quaze .hub-card__title { color: var(--operation-blue); font-family: var(--qz-font-display); }
.hub-card--quaze .hub-card__desc { color: var(--operation-muted); }
.hub-card--quaze .hub-card__cta { border: 2px solid var(--operation-blue); background: var(--operation-acid); color: var(--operation-ink); box-shadow: 4px 4px 0 var(--operation-blue); font-family: var(--qz-font-display); letter-spacing: 1px; text-decoration: underline; text-transform: uppercase; }
.hub-card--selouu { overflow: hidden; border: 1.5px solid #e6dcca; border-radius: 24px; background: #fbf7f0; box-shadow: 0 16px 38px rgb(31 26 21 / 11%); }
.hub-card--selouu:hover { transform: translateY(-5px) rotate(-.2deg); box-shadow: 0 23px 46px rgb(31 26 21 / 16%); }
.hub-card--selouu .hub-card__eyebrow { color: #c33f1c; font-family: 'Hanken Grotesk', sans-serif; }
.hub-card--selouu .hub-card__title { color: #1f1a15; font-family: Fraunces, Georgia, serif; font-size: 1.9rem; font-weight: 600; }
.hub-card--selouu .hub-card__desc { color: #6b6157; }
.hub-card--selouu .hub-card__cta { border-radius: 999px; background: #c33f1c; color: #fff; }
.hub-card--biblicard { border-radius: 22px; background: #f8f1e4; box-shadow: 0 14px 32px rgb(27 42 74 / 12%); }
.hub-card--biblicard:hover { transform: translateY(-5px); box-shadow: 0 22px 44px rgb(27 42 74 / 18%); }
.hub-card--biblicard .hub-card__eyebrow { color: #d9633a; }
.hub-card--biblicard .hub-card__title,
.hub-card--biblicard .hub-card__desc { color: #1b2a4a; }
.hub-card--biblicard .hub-card__desc { opacity: .72; }
.hub-card--biblicard .hub-card__cta { border-radius: 999px; background: #d9633a; color: #fdf8ee; }
.hub-card--outro-lado { overflow: hidden; border: 1px solid #4a2026; border-radius: 12px; background: radial-gradient(circle at 88% 12%, rgb(231 52 64 / 18%), transparent 34%), linear-gradient(145deg, #23070a, #0b0708 68%); box-shadow: 0 16px 36px rgb(11 7 8 / 34%); }
.hub-card--outro-lado:hover { transform: translateY(-5px); box-shadow: 0 22px 46px rgb(11 7 8 / 46%); }
.hub-card--outro-lado .hub-card__logo img { width: 100%; height: 100%; }
.hub-card--outro-lado .hub-card__eyebrow { color: #e73440; }
.hub-card--outro-lado .hub-card__title { color: #f1e7dc; font-family: 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.hub-card--outro-lado .hub-card__desc { color: #cbb6b1; }
.hub-card--outro-lado .hub-card__cta { border-radius: 10px; background: linear-gradient(#e73440, #b51627); color: #f1e7dc; }
.hub-card--quero { border: 1px solid #f3ead9; border-radius: 20px; background: #fbf7ef; box-shadow: 0 10px 30px -14px rgb(255 176 32 / 55%); }
.hub-card--quero:hover { transform: translateY(-5px); box-shadow: 0 18px 48px -18px rgb(24 22 34 / 35%); }
.hub-card--quero .hub-card__eyebrow { color: #db3b20; }
.hub-card--quero .hub-card__title { color: #1b1820; }
.hub-card--quero .hub-card__desc { color: #4c4756; }
.hub-card--quero .hub-card__cta { border-radius: 999px; background: linear-gradient(#ff5a3c, #db3b20); color: #fbf7ef; }
.operation-project-proof__more { margin: 2.25rem 0 0; text-align: center; }
.operation-project-proof__more a { color: var(--operation-blue); font-weight: 800; text-decoration: underline; text-underline-offset: .25rem; }

.operation-modal { position: fixed; inset: 0; z-index: 2500; display: grid; padding: 1rem; place-items: center; overflow-y: auto; background: rgb(7 9 26 / 76%); opacity: 0; visibility: hidden; transition: opacity .2s var(--qz-ease), visibility .2s; }
.operation-modal.is-open { opacity: 1; visibility: visible; }
.operation-modal__panel { position: relative; width: min(50rem, 100%); max-height: calc(100svh - 2rem); overflow-y: auto; border: 3px solid var(--operation-ink); border-radius: var(--qz-radius-sm); background: #fff; box-shadow: .9rem .9rem 0 var(--operation-blue); transform: translateY(1.35rem); transition: transform .2s var(--qz-ease); }
.operation-modal.is-open .operation-modal__panel { transform: translateY(0); }
.operation-modal__close { position: absolute; top: .75rem; right: .9rem; z-index: 2; border: 0; background: transparent; color: var(--operation-ink); font-size: 2.1rem; line-height: 1; }
.operation-modal__head { padding: 2.2rem 2.2rem 1.3rem; border-bottom: 1px solid var(--operation-line); }
.operation-modal__head .operation-kicker { color: var(--operation-blue); }
.operation-modal__head h2 { margin: .4rem 0 .7rem; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1; }
.operation-modal__head > p:last-child { margin: 0; color: var(--operation-muted); }
.operation-form { padding: 1.8rem 2.2rem 2.2rem; }
.operation-form__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.operation-form__full { grid-column: 1 / -1; }
.operation-form input,
.operation-form select,
.operation-form textarea { width: 100%; font-size: 1rem; }
.operation-form select { padding: 1rem 1.2rem; border: 2px solid var(--operation-blue); border-radius: var(--qz-radius-sm); background: #fff; color: var(--operation-ink); }
.operation-form textarea { resize: vertical; }
.operation-form__submit { width: 100%; margin-top: 1.3rem; }
.operation-form__status { min-height: 1.5rem; margin: .8rem 0 0; font-weight: 800; text-align: center; }
.operation-form__status.is-error { color: #b42318; }
.operation-form__status.is-success { color: #067647; }
.operation-form__note { margin: .7rem 0 0; color: var(--operation-muted); font-size: .78rem; text-align: center; }
.operation-form__consent { display: flex; gap: .7rem; align-items: flex-start; color: var(--operation-muted); font-size: .88rem; line-height: 1.45; }
.operation-form__consent input { width: 1.1rem; height: 1.1rem; margin-top: .15rem; accent-color: var(--operation-blue); }

@media (max-width: 1080px) {
  .operation-choice__grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .operation-hero { min-height: auto; }
  .operation-hero h1 { font-size: clamp(2.4rem, 10.5vw, 3.55rem); }
  .operation-hero__actions { align-items: flex-start; flex-direction: column; }
  .operation-signals { grid-template-columns: 1fr; border-bottom: 0; }
  .operation-signal { min-height: 0; border-right: 0; border-bottom: 2px solid var(--operation-ink); }
  .operation-signal > span { margin-bottom: 1.5rem; }
  .operation-route__list { grid-template-columns: 1fr; }
  .operation-route__list::before { top: 0; bottom: 0; left: 2rem; right: auto; width: 3px; height: auto; }
  .operation-route__list::after { top: 0; left: 2rem; width: 3px; height: 0; transition: height 1.1s cubic-bezier(.4,0,.2,1) .2s; }
  .operation-route__list.is-active::after { width: 3px; height: 100%; }
  .operation-route__item { display: grid; grid-template-columns: 4rem 1fr; gap: 1.3rem; padding: 0 0 2.2rem; }
  .operation-route__number { margin: 0; }
  .operation-project-grid { grid-template-columns: 1fr; }
  .operation-project-card:first-child { grid-column: auto; }
}

@media (max-width: 520px) {
  .operation-hero__actions { width: 100%; }
  .operation-text-link { align-self: center; }
  .operation-choice__grid { gap: 2.5rem; }
  .operation-choice__options { box-shadow: .45rem .45rem 0 rgb(23 45 215 / 34%); }
  .operation-form__grid { grid-template-columns: 1fr; }
  .operation-form__full { grid-column: auto; }
  .operation-modal { padding: .5rem; }
  .operation-modal__panel { max-height: calc(100svh - 1rem); box-shadow: .45rem .45rem 0 var(--operation-blue); }
  .operation-modal__head,
  .operation-form { padding-left: 1.25rem; padding-right: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .operation-route__list::after { display: none; }
}
