.viewport-reveal {
  opacity: var(--viewport-opacity, 1);
  transform: translate3d(0, var(--viewport-shift, 0), 0);
  transition: opacity .14s ease-out, transform .18s ease-out;
}
.viewport-reveal:focus-within { opacity: 1 !important; transform: none !important; }
html { scroll-behavior: smooth; }
.operator-page { background: #fff; color: #153b36; }
.operator-page [hidden] { display: none !important; }
.operator-page h1, .operator-page h2, .operator-page h3,
.operator-page__eyebrow, .operator-page__label { letter-spacing: 0; }
.operator-page strong { font-weight: 800; }
.operator-page p { font-size: 17px; line-height: 1.8; }
.operator-page__label, .operator-page__eyebrow { font-size: 12px !important; line-height: 1.5 !important; }
.operator-page [id] { scroll-margin-top: 88px; }
.operator-page__hero { position: relative; isolation: isolate; overflow: hidden; min-height: 580px; height: min(660px, calc(100svh - 150px)); background: #112c29; }
.operator-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% center; z-index: -2; animation: operator-photo-pan 8s ease-in-out infinite alternate; }
.operator-page__hero:after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,28,26,.96) 0%, rgba(8,28,26,.86) 30%, rgba(8,28,26,.42) 60%, rgba(8,28,26,.08)); }
.operator-page__hero-inner { display: block; position: relative; max-width: 1220px; padding: 42px 28px 64px; }
.operator-page__hero-copy { max-width: 650px; }
.operator-page__hero h1 { font-size: 64px; line-height: 1.08; margin: 14px 0; max-width: 680px; }
.operator-page__hero-copy > p:not(.operator-page__eyebrow) { font-size: 16px; line-height: 1.7; max-width: 520px; margin: 20px 0 26px; color: #e5eeeb; }
.operator-page__hero-copy > .operator-hero-lead { font-size: 25px !important; line-height: 1.4 !important; font-weight: 650; color: #fff !important; max-width: 580px !important; margin-bottom: 16px !important; }
.operator-page__breadcrumb { margin-bottom: 26px; color: #e1eeea; }
.operator-page__breadcrumb strong { color: #fff; }
.operator-page__button { border-radius: 6px; box-shadow: none; transition: background .2s ease, transform .2s ease; }
.operator-page .operator-page__button { color: #123a33; }
.operator-page__button:hover { background: #ecc078; transform: translateY(-2px); }
.operator-hero-explore { display: inline-flex; align-items: center; gap: 12px; margin: 14px 0 0 20px; color: #fff !important; font-size: 14px; font-weight: 700; text-decoration: none; }
.operator-hero-explore span { display: inline-block; animation: operator-arrow 1.2s ease-in-out infinite; }
.operator-card-float { position: absolute; right: 28px; bottom: 52px; width: 290px; animation: operator-float 3.2s ease-in-out infinite; }
.operator-page__card { position: relative; display: block; width: 100%; padding: 0; margin: 0; border-radius: 8px; color: #fff; font: inherit; cursor: pointer; transform: perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition: transform .14s ease-out, box-shadow .14s ease-out; box-shadow: 0 20px 40px rgba(0,0,0,.23); }
.operator-page__card:disabled { cursor: default; }
.operator-page__card:focus-visible { outline: 3px solid #f2c981; outline-offset: 6px; }
.operator-card-float:has(.operator-page__card:hover), .operator-card-float:focus-within { animation-play-state: paused; }
.operator-card-sides { display: block; position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .36s cubic-bezier(.2,.75,.3,1); }
.operator-page__card[aria-pressed=true] .operator-card-sides { transform: rotateY(180deg); }
.operator-card-front, .operator-card-back { position: absolute; inset: 0; padding: 24px; backface-visibility: hidden; display: flex; align-items: center; justify-content: center; }
.operator-card-back { transform: rotateY(180deg); flex-direction: column; align-items: flex-start; text-align: left; gap: 10px; padding: 20px 24px 36px; }
.operator-card-back > span { font-size: 10px; font-weight: 750; text-transform: uppercase; }
.operator-card-back > strong { font-size: 18px; line-height: 1.25; max-width: 220px; }
.operator-card-turn { position: absolute; right: 16px; bottom: 12px; font-size: 25px; line-height: 1; }
.operator-page__card:disabled .operator-card-turn { display: none; }
.operator-page__hero--ticket .operator-page__card { color: #153b36; }
.operator-page__card small { left: 22px; right: 45px; bottom: 18px; font-size: 9px; line-height: 1.3; text-align: left; letter-spacing: 0; }
.operator-page__chip { top: 20px; left: 22px; width: 34px; height: 24px; border-radius: 5px; }
.operator-page__card img { height: auto; max-width: 64%; max-height: 45%; }
.operator-page__hero--vr .operator-page__card img { width: 55px; }
.operator-page__hero--flash .operator-page__card img { width: 115px; }
.operator-page__hero--caju .operator-page__card img { width: 125px; }
.operator-page__hero--ifood .operator-page__card img { width: 100px; }
.operator-page__hero--valecard .operator-page__card img { width: 110px; }
.operator-page__hero--pluxee .operator-page__card img { width: 132px; }
.operator-page__hero--ticket .operator-page__card img { width: 140px; }
.operator-reading-nav { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.97); border-bottom: 1px solid #d6e2dc; min-height: 64px; }
.operator-reading-nav > div { max-width: 1164px; margin: auto; padding: 0 24px; display: flex; gap: 30px; overflow-x: auto; scrollbar-width: thin; }
.operator-reading-nav a { flex-shrink: 0; display: block; padding: 21px 0 18px; border-bottom: 3px solid transparent; font: 650 14px/1.5 Inter,system-ui,sans-serif; text-decoration: none; color: #35554e; }
.operator-reading-nav a[aria-current] { color: #103f3b; border-color: #da9f3c; }
.operator-reading-progress { position: absolute; height: 3px; left: 0; bottom: 0; width: 100%; background: #3ccbb6; transform: scaleX(0); transform-origin: left; pointer-events: none; }
.operator-page__intro, .operator-page__checklist, .operator-page__faq { padding-top: 70px; padding-bottom: 70px; }
.operator-page__intro h2, .operator-page__reading h2, .operator-page__checklist h2,
.operator-page__fit h2, .operator-page__faq h2, .operator-page__others h2,
.operator-section h2, .operator-scenario h2 { font-size: 38px; line-height: 1.2; margin: 12px 0 22px; }
.operator-page__intro > div p { margin: 0 0 20px; color: #244c43; }
.operator-focus { padding-top: 18px; border-top: 1px solid #d6e2dc; font-size: 14px !important; }
.operator-focus strong { display: block; margin-bottom: 5px; }
.operator-page__reading { padding-top: 64px; padding-bottom: 64px; background: #eaf2ee; gap: 55px; }
.operator-page__reading article > p, .operator-page__reading aside li { color: #244c43; }
.operator-page__reading aside { background: transparent; padding: 24px 0; border-top: 3px solid #da9f3c; }
.operator-page__reading aside h3 { font-size: 21px; line-height: 1.4; }
.operator-page__reading aside p { color: #33564d; }
.operator-section { max-width: 1120px; margin: auto; padding: 70px 28px; }
.operator-section-heading { max-width: 780px; margin-bottom: 38px; }
.operator-section-heading > p:not(.operator-page__label) { color: #244c43; }
.operator-products-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 38px; }
.operator-products-list article { padding-top: 20px; border-top: 2px solid #3ccbb6; min-width: 0; }
.operator-step { font-size: 13px; font-weight: 800; color: #78501c; }
.operator-products-list h3 { font-size: 23px; line-height: 1.3; margin: 18px 0 14px; }
.operator-products-list p { color: #244c43; font-size: 16px; margin: 0; }
.operator-solution-proof { margin-top: 26px; padding-top: 20px; border-top: 1px solid #d6e2dc; }
.operator-solution-proof h4 { margin: 8px 0 14px; font-size: 20px; line-height: 1.4; }
.operator-solution-controls { margin: 0 0 26px; }
.operator-solution-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid #b8cec4; }
.operator-solution-tabs button { display: flex; align-items: center; justify-content: flex-start; gap: 12px; min-height: 78px; padding: 14px 18px; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; background: #f0f4f1; color: #36554b; font: 700 16px/1.4 Inter,system-ui,sans-serif; text-align: left; cursor: pointer; transition: background .14s, color .14s, border-color .14s; }
.operator-solution-tabs button > span { color: #78501c; font-size: 12px; }
.operator-solution-tabs button:hover { background: #e4f0e9; }
.operator-solution-tabs button[aria-selected=true] { background: #103f3b; color: #fff; border-color: #3ccbb6; }
.operator-solution-tabs button[aria-selected=true] > span { color: #f2c981; }
.operator-solution-tabs button:focus-visible, .operator-compare-toggle:focus-visible { outline: 3px solid #da9f3c; outline-offset: -3px; }
.operator-compare-toggle { display: flex; align-items: center; gap: 12px; padding: 14px 0 0; margin-left: auto; border: 0; background: none; color: #103f3b; font: 700 13px/1.5 Inter,system-ui,sans-serif; cursor: pointer; }
.operator-compare-toggle > span { font-size: 20px; }
.operator-products[data-solution-mode=focus] .operator-products-list { grid-template-columns: 1fr; min-height: var(--solution-height,340px); }
.operator-products[data-solution-mode=focus] .operator-products-list article { grid-area: 1/1; display: grid; grid-template-columns: 1.2fr 1fr; align-self: start; gap: 64px; border-top: 0; padding: 8px 0; }
.operator-products[data-solution-mode=focus] .operator-products-list h3 { font-size: 30px; margin: 10px 0 20px; }
.operator-products[data-solution-mode=focus] .operator-solution-proof { margin-top: 0; padding: 22px 0 0 30px; border-top: 0; border-left: 3px solid #3ccbb6; }
.operator-solution-enter { animation: operator-solution-in .2s ease-out; }
.operator-scenario { padding: 60px max(28px,calc((100% - 1064px)/2)); background: #f2f4f1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 52px; }
.operator-page figure { margin: 0; min-width: 0; }
.operator-page figure img { display: block; width: 100%; aspect-ratio: 4/3; height: auto; object-fit: cover; border-radius: 6px; }
.operator-image-window { display: block; overflow: hidden; border-radius: 6px; aspect-ratio: 4/3; }
.operator-image-window img { transform: translateY(var(--photo-drift,0px)) scale(1.06); transition: transform .12s linear; }
.operator-page figcaption { margin: 10px 0 0; color: #46645c; font-size: 11px; line-height: 1.5; }
.operator-scenario h2 { font-size: 32px; }
.operator-scenario p { color: #244c43; }
.operator-takeaway { padding-top: 18px; border-top: 2px solid #da9f3c; font-size: 15px !important; }
.operator-takeaway > strong { display: block; margin-bottom: 8px; }
.operator-page__checklist { gap: 65px; }
.operator-page__checklist > div p { color: #244c43; }
.operator-checklist-status { font-size: 14px !important; font-weight: 750; padding-top: 20px; }
.operator-checklist-progress { display: block; width: 100%; height: 6px; border: 0; border-radius: 0; background: #d6e2dc; accent-color: #103f3b; }
.operator-checklist-progress::-webkit-progress-bar { background: #d6e2dc; }
.operator-checklist-progress::-webkit-progress-value { background: #103f3b; transition: width .18s ease; }
.operator-checklist-progress::-moz-progress-bar { background: #103f3b; }
.operator-checklist-next { display: inline-flex; align-items: center; gap: 16px; margin-top: 22px; color: #103f3b; font-size: 14px; font-weight: 750; animation: operator-solution-in .2s ease-out; }
.operator-checklist-next > span { font-size: 20px; }
.operator-checklist-complete .operator-checklist-progress::-webkit-progress-value { background: #219a7a; }
.operator-page__checklist li { display: block; padding: 0; }
.operator-page__checklist li label { display: grid; grid-template-columns: 18px 26px 1fr; gap: 12px; align-items: start; padding: 22px 0; cursor: pointer; transition: background .14s; }
.operator-page__checklist input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: #103f3b; }
.operator-page__checklist li label > span:last-child { font-size: 16px; font-weight: 550; line-height: 1.6; color: #244c43; }
.operator-page__checklist label:has(input:checked) { background: #edf7f2; }
.operator-page__checklist label:has(input:checked) > span:last-child { color: #103f3b; }
.operator-page__checklist li strong { color: #103f3b; }
.operator-costs { max-width: none; padding-inline: max(28px,calc((100% - 1064px)/2)); background: #142d2a; color: #fff; display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; }
.operator-costs h2 { color: #fff; }
.operator-costs p { color: #e0ece5; }
.operator-costs dl { margin: 0; }
.operator-costs dl > div { padding: 22px 0; border-bottom: 1px solid #54726a; }
.operator-costs dt { font-size: 20px; font-weight: 750; margin-bottom: 9px; color: #f2c981; }
.operator-costs dd { font-size: 16px; line-height: 1.75; color: #e0ece5; margin: 0; }
.operator-rollout-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.operator-rollout-grid ol { list-style: none; margin: 0; padding: 0; }
.operator-rollout-grid li { padding: 18px 0; border-bottom: 1px solid #d6e2dc; }
.operator-rollout-grid li:first-child { padding-top: 0; }
.operator-rollout-grid li > strong { font-size: 20px; }
.operator-rollout-grid p { margin: 10px 0 0; color: #244c43; font-size: 16px; }
.operator-page__fit { background: #e9f2ed; padding-top: 64px; padding-bottom: 64px; color: #153b36; }
.operator-page__fit h2 { color: #153b36; }
.operator-page__fit > p:not(.operator-page__label) { color: #244c43; }
.operator-page__fit a { color: #103f3b; }
.operator-page__faq details p { color: #244c43; }
.operator-page__faq details[open] summary span { transform: rotate(45deg); }
.operator-page__faq summary span { transition: transform .16s ease; }
.operator-page__faq details[open] > p { animation: operator-solution-in .18s ease-out; }
.operator-page__faq summary { font-size: 17px; line-height: 1.5; }
.operator-revision { max-width: none; background: #fff4dc; padding: 44px max(28px,calc((100% - 1064px)/2)); border-top: 0; }
.operator-revision h2 { font-size: 30px; }
.operator-page__others { padding-top: 64px; padding-bottom: 76px; background: #edf3ef; }
.operator-page__others > div { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.operator-page__others a.operator-choice { padding: 0; background: transparent; border: 0; min-height: 0; display: grid; gap: 0; text-align: left; align-content: start; justify-content: stretch; }
.operator-choice__face { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1.58/1; border-radius: 8px; box-shadow: 0 9px 18px rgba(22,53,46,.13); transform: perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition: transform .14s ease-out, box-shadow .14s ease-out; }
.operator-choice__face:after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(circle at var(--shine-x,50%) var(--shine-y,20%),rgba(255,255,255,.3),transparent 65%); opacity: 0; transition: opacity .14s; }
.operator-choice:hover .operator-choice__face:after, .operator-choice:focus-visible .operator-choice__face:after { opacity: 1; }
.operator-choice__chip { position: absolute; top: 19px; left: 20px; width: 30px; height: 21px; border-radius: 5px; background: linear-gradient(135deg,#f7de76,#bd8e16); }
.operator-page__others .operator-choice img { display: block; width: auto; height: 43px; max-width: 60%; object-fit: contain; }
.operator-choice--flash .operator-choice__face { background: linear-gradient(135deg,#f7339b,#c50069); }
.operator-choice--vr .operator-choice__face { background: linear-gradient(135deg,#00d935,#009a2a); }
.operator-choice--caju .operator-choice__face { background: linear-gradient(135deg,#ed2742,#c01432); }
.operator-choice--ifood .operator-choice__face { background: #fff; border: 1px solid #dee6e1; }
.operator-choice--valecard .operator-choice__face { background: linear-gradient(135deg,#193878,#101e47); }
.operator-choice--pluxee .operator-choice__face { background: #00dc68; }
.operator-choice--ticket .operator-choice__face { background: #fff; border: 1px solid #dee6e1; }
.operator-choice--vr img { height: 52px !important; }
.operator-choice--valecard img { height: 53px !important; }
.operator-choice--pluxee img { height: 34px !important; }
.operator-choice__name { display: block; margin-top: 18px; font-size: 18px; line-height: 1.4; color: #153b36; }
.operator-choice__link { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 7px; font-size: 13px; font-weight: 650; color: #3d6157; }
.operator-choice__link > span { font-size: 20px; color: #103f3b; }
.operator-choice:hover .operator-choice__face, .operator-choice:focus-visible .operator-choice__face { transform: perspective(900px) translateY(-10px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,-3deg)) scale(1.025); box-shadow: 0 19px 28px rgba(22,53,46,.2); }
[data-motion-active=false], .operator-page__hero[data-motion-active=false] .operator-hero-photo, .operator-page__hero[data-motion-active=false] .operator-hero-explore span { animation-play-state: paused; }
@keyframes operator-float { 0%,100% { transform: translateY(3px) rotate(5deg); } 50% { transform: translateY(-14px) rotate(-3deg); } }
@keyframes operator-arrow { 0%,100% { transform: translateY(-2px); } 50% { transform: translateY(7px); } }
@keyframes operator-photo-pan { from { transform: scale(1.04) translateX(-.7%); } to { transform: scale(1.08) translateX(.7%); } }
@keyframes operator-solution-in { from { opacity: .4; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:1000px) {
  .operator-page__hero-copy { max-width: 560px; }
  .operator-page__hero h1 { font-size: 52px; }
  .operator-card-float { width: 230px; right: 24px; bottom: 28px; }
  .operator-page__card { width: 100%; }
  .operator-card-back > strong { font-size: 16px; }
  .operator-products-list { gap: 25px; }
  .operator-reading-nav > div { gap: 26px; }
}
@media(max-width:760px) {
  .operator-page__hero { height: auto; min-height: 670px; }
  .operator-page__hero-inner { padding: 34px 24px 190px; }
  .operator-page__hero:after { background: linear-gradient(90deg,rgba(8,28,26,.9),rgba(8,28,26,.6)); }
  .operator-page__hero h1 { font-size: 42px; }
  .operator-page__hero-copy > .operator-hero-lead { font-size: 22px !important; }
  .operator-card-float { width: 205px; right: 28px; bottom: 30px; }
  .operator-page__card { width: 100%; margin: 0; }
  .operator-card-back { padding: 16px 18px 32px; gap: 7px; }
  .operator-card-back > strong { font-size: 15px; }
  .operator-card-back small { left: 18px; bottom: 13px; font-size: 8px; }
  .operator-page__hero-copy > p:not(.operator-page__eyebrow) { font-size: 15px; margin-bottom: 18px; }
  .operator-hero-explore { margin-left: 0; display: flex; }
  .operator-page__intro, .operator-page__reading, .operator-page__checklist,
  .operator-products-list, .operator-scenario, .operator-costs, .operator-rollout-grid { grid-template-columns: 1fr; gap: 30px; }
  .operator-page__intro, .operator-page__reading, .operator-page__checklist, .operator-page__faq,
  .operator-section, .operator-scenario { padding: 50px 24px; }
  .operator-page__intro h2, .operator-page__reading h2, .operator-page__checklist h2,
  .operator-page__fit h2, .operator-page__faq h2, .operator-page__others h2,
  .operator-section h2, .operator-scenario h2 { font-size: 30px; }
  .operator-page__reading aside { margin-top: 10px; }
  .operator-products[data-solution-mode=focus] .operator-products-list article { grid-template-columns: 1fr; gap: 26px; }
  .operator-products[data-solution-mode=focus] .operator-products-list h3 { font-size: 25px; }
  .operator-products[data-solution-mode=focus] .operator-solution-proof { padding: 18px 0 0; border-left: 0; border-top: 2px solid #3ccbb6; }
  .operator-solution-tabs button { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 5px; min-height: 110px; font-size: 12px; line-height: 1.45; padding: 10px 9px; overflow-wrap: anywhere; }
  .operator-page__others { padding: 50px 24px; }
  .operator-page__others > div { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 18px; }
  .operator-page__others .operator-choice img { max-width: 62%; height: 27px; }
  .operator-choice--vr img { height: 35px !important; }
  .operator-choice--valecard img { height: 37px !important; }
  .operator-choice--pluxee img { height: 22px !important; }
  .operator-choice__name { font-size: 15px; }
  .operator-choice__chip { top: 12px; left: 12px; width: 22px; height: 16px; }
  .operator-reading-nav > div { padding-inline: 24px; gap: 24px; }
  .operator-reading-nav a { font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .viewport-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .operator-card-float, .operator-hero-photo, .operator-hero-explore span,
  .operator-solution-enter, .operator-checklist-next, .operator-page__faq details[open] > p { animation: none; }
  .operator-choice__face, .operator-page__card, .operator-card-sides, .operator-page__button,
  .operator-solution-tabs button, .operator-choice__face:after, .operator-checklist-progress::-webkit-progress-value { transition: none; }
  .operator-choice__face, .operator-choice:hover .operator-choice__face, .operator-choice:focus-visible .operator-choice__face,
  .operator-page__card, .operator-image-window img { transform: none; transition: none; }
}
@media print {
  .viewport-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .operator-reading-nav { display: none; }
  .operator-page__hero { height: auto; min-height: 0; background: #fff; color: #153b36; }
  .operator-page__hero:after, .operator-card-float, .operator-hero-photo, .operator-hero-explore, .operator-solution-controls { display: none; }
  .operator-products [data-solution-panel][hidden] { display: grid !important; }
  .operator-solution-enter { animation: none; }
  .operator-products[data-solution-mode=focus] .operator-products-list { min-height: 0; }
  .operator-products[data-solution-mode=focus] .operator-products-list article { grid-area: auto; }
  .operator-image-window img { transform: none; }
  .operator-page__hero-inner { padding: 20px; }
  .operator-page__hero h1, .operator-page__hero-copy p { color: #153b36 !important; }
  .operator-costs { background: #fff; color: #153b36; }
  .operator-costs p, .operator-costs h2, .operator-costs dd, .operator-costs dt { color: #153b36; }
}
