/* ==========================================================================
   Arata Power Method · componentes (ap-*)
   Usado pelo styleguide e pela página. Fonte única.
   Só tokens de ../tokens.css. Animação só com transform, opacity e filter.
   ========================================================================== */

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html[data-motion="off"] { scroll-behavior: auto; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  letter-spacing: var(--ls, 0);
  font-optical-sizing: auto;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-inline-size: 100%; }
p, h1, h2, h3, h4, figure, blockquote { margin: 0; }
button, input, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; }
a { color: inherit; }
.sr-only { position: absolute !important; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Estado compartilhado ----------
   --h: hover (0/1)  --p: pressionado (0/1)
   Toque: hover aparece no :active. Forçar estado usa as classes is-*. */
:where(.ap-cta, .ap-link, .ap-nav__link, .ap-dd__item, .ap-dd__rich, .ap-pillar, .ap-arrow, .ap-diff, .ap-chip, .ap-news__btn, .ap-top, .ap-nav__burger, .ap-quote, .ap-field, .ap-seal) { --h: 0; --p: 0; }
@media (hover: hover) {
  :where(.ap-cta, .ap-link, .ap-nav__link, .ap-dd__item, .ap-dd__rich, .ap-pillar, .ap-arrow, .ap-diff, .ap-chip, .ap-news__btn, .ap-top, .ap-nav__burger, .ap-quote, .ap-field, .ap-seal):hover { --h: 1; }
}
:where(.ap-cta, .ap-link, .ap-nav__link, .ap-dd__item, .ap-dd__rich, .ap-pillar, .ap-arrow, .ap-diff, .ap-chip, .ap-news__btn, .ap-top, .ap-nav__burger, .ap-quote, .ap-field, .ap-seal).is-hover { --h: 1; }
:where(.ap-cta, .ap-link, .ap-nav__link, .ap-dd__item, .ap-dd__rich, .ap-pillar, .ap-arrow, .ap-diff, .ap-chip, .ap-news__btn, .ap-top, .ap-nav__burger):is(:active, .is-active) { --h: 1; --p: 1; }

:where(.ap-cta, .ap-link, .ap-nav__link, .ap-dd__item, .ap-dd__rich, .ap-pillar, .ap-arrow, .ap-diff, .ap-chip, .ap-news__btn, .ap-top, .ap-nav__burger, .ap-nav__logo):is(:focus-visible, .is-focus) {
  outline: 2px solid var(--focus-ring);
  outline-offset: 4px;
}
:where(.ap-cta, .ap-link, .ap-nav__link, .ap-arrow, .ap-chip, .ap-news__btn, .ap-top, .ap-pillar, .ap-diff, .ap-nav__burger):is(:disabled, [aria-disabled="true"], .is-disabled) {
  opacity: 0.45;
  pointer-events: none;
  --h: 0; --p: 0;
}

.on-brand { --focus-ring: var(--white); }

/* ---------- Ícone ---------- */
.ap-icon {
  display: inline-block;
  flex: none;
  inline-size: var(--icon);
  block-size: var(--icon);
  background: currentColor;
  -webkit-mask: var(--src) center / contain no-repeat;
  mask: var(--src) center / contain no-repeat;
}
.ap-icon--sm { inline-size: var(--icon-sm); block-size: var(--icon-sm); }
.i-leaf { --src: url("data:image/svg+xml,%3Csvg width=%2236%22 height=%2236%22 viewBox=%220 0 36 36%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M18 33C11.3726 33 6 27.5312 6 20.7851C6 14.0918 9.82999 6.28138 15.8056 3.48833C16.5021 3.16278 17.2511 3 18 3V33Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.3%22 d=%22M20.1944 3.48833C19.4979 3.16278 18.7489 3 18 3V13.5001L24.6475 6.85261C23.3534 5.43088 21.8569 4.26542 20.1944 3.48833Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.4%22 d=%22M18 13.5001V21.7501L27.9214 11.8287C27.0632 9.9984 25.9593 8.29385 24.6475 6.85263L18 13.5001Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.6%22 d=%22M18 29.2501L29.7165 17.5335C29.3866 15.5978 28.7758 13.6509 27.9214 11.8286L18 21.7501V29.2501Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.7%22 d=%22M29.7165 17.5335L18 29.25V33C24.6274 33 30 27.5311 30 20.785C30 19.7212 29.9032 18.6292 29.7165 17.5335Z%22 fill=%22%23117C5D%22/%3E%3C/g%3E%3C/svg%3E"); }
.i-heart { --src: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath opacity=%220.5%22 d=%22M8.10627 18.2468C5.29819 16.0833 2 13.5422 2 9.1371C2 4.27416 7.50016 0.825464 12 5.50063V20.5C11 20.5 10 19.7294 8.96173 18.9109C8.68471 18.6925 8.39814 18.4717 8.10627 18.2468Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22%23117C5D%22/%3E%3Cpath d=%22M15.0383 18.9109C17.9806 16.5914 22 14 22 9.1371C22 4.27416 16.4998 0.825464 12 5.50063V20.5C13 20.5 14 19.7294 15.0383 18.9109Z%22 fill=%22%23117C5D%22/%3E%3C/g%3E%3C/svg%3E"); }
.i-star { --src: url("data:image/svg+xml,%3Csvg width=%2219.0255%22 height=%2219.0255%22 viewBox=%220 0 19.0255 19.0255%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M14.6524 13.292C14.1479 13.4126 13.6214 13.4764 13.08 13.4764C9.35864 13.4764 6.34184 10.4596 6.34184 6.7382C6.34184 6.35494 6.37384 5.97915 6.43531 5.61336C6.40662 5.64095 6.37697 5.66637 6.34576 5.69006C6.12331 5.85893 5.84627 5.92161 5.29218 6.04698L4.78772 6.16112C2.83786 6.6023 1.86293 6.82288 1.63098 7.56877C1.39903 8.31466 2.06367 9.09188 3.39296 10.6463L3.73686 11.0485C4.1146 11.4902 4.30348 11.711 4.38844 11.9843C4.47341 12.2575 4.44486 12.5522 4.38775 13.1415L4.33575 13.6781C4.13478 15.752 4.0343 16.789 4.64155 17.25C5.2488 17.711 6.16163 17.2907 7.98728 16.4501L8.45961 16.2326C8.9784 15.9937 9.2378 15.8743 9.51276 15.8743C9.78772 15.8743 10.0471 15.9937 10.5659 16.2326L11.0382 16.4501C12.8639 17.2907 13.7767 17.711 14.384 17.25C14.9912 16.789 14.8907 15.752 14.6898 13.6781L14.6524 13.292Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.5%22 d=%22M7.25599 4.28738L6.99621 4.75339C6.71088 5.26526 6.56821 5.52119 6.34576 5.69006C6.37697 5.66637 6.40662 5.64096 6.43531 5.61336C6.37384 5.97916 6.34184 6.35495 6.34184 6.73821C6.34184 10.4596 9.35864 13.4764 13.08 13.4764C13.6214 13.4764 14.1479 13.4126 14.6524 13.292L14.6378 13.1415C14.5807 12.5522 14.5521 12.2575 14.6371 11.9843C14.722 11.711 14.9109 11.4902 15.2887 11.0485L15.6326 10.6463C16.9618 9.09188 17.6265 8.31466 17.3945 7.56877C17.1626 6.82288 16.1877 6.6023 14.2378 6.16112L13.7333 6.04698C13.1793 5.92161 12.9022 5.85893 12.6798 5.69006C12.4573 5.5212 12.3146 5.26526 12.0293 4.7534L11.7695 4.28738C10.7654 2.4861 10.2634 1.58546 9.51276 1.58546C8.76215 1.58546 8.2601 2.4861 7.25599 4.28738Z%22 fill=%22%23117C5D%22/%3E%3C/g%3E%3C/svg%3E"); }
.i-mirror { --src: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M3.25 12.75V10.75C3.25 6.97876 3.25 5.09315 4.42157 3.92157C5.5142 2.82894 8.09768 2.75532 11.5 2.75036C11.5 2.33614 11.8358 2 12.25 2C12.6642 2 13 2.33579 13 2.75L13 20.75C13 21.1642 12.6642 21.5 12.25 21.5C11.8358 21.5 11.5 21.1642 11.5 20.75C8.09768 20.745 5.51421 20.6711 4.42157 19.5784C3.25 18.4069 3.25 16.5212 3.25 12.75Z%22 fill=%22white%22/%3E%3Cpath opacity=%220.5%22 d=%22M13.5909 2.75C13.5909 3.16421 13.9267 3.5 14.3409 3.5H15.25C15.6862 3.5 16.0847 3.50001 16.4524 3.50318C16.8666 3.50675 17.2053 3.17387 17.2089 2.75968C17.2124 2.34548 16.8796 2.00681 16.4654 2.00323C16.0905 2 15.686 2 15.2522 2L14.3409 2C13.9267 2 13.5909 2.33579 13.5909 2.75ZM13.5909 20.75C13.5909 21.1642 13.9267 21.5 14.3409 21.5H15.2523C15.6861 21.5 16.0906 21.5 16.4654 21.4968C16.8796 21.4932 17.2125 21.1545 17.2089 20.7403C17.2053 20.3261 16.8666 19.9932 16.4524 19.9968C16.0847 20 15.6862 20 15.25 20H14.3409C13.9267 20 13.5909 20.3358 13.5909 20.75ZM18.6212 2.8046C18.4983 3.20015 18.7193 3.62047 19.1148 3.7434C19.436 3.84322 19.6595 3.97754 19.841 4.15901C20.0225 4.34048 20.1568 4.56401 20.2566 4.8852C20.3795 5.28075 20.7998 5.50175 21.1954 5.37882C21.5909 5.25589 21.812 4.83557 21.689 4.44002C21.5288 3.92463 21.2812 3.47793 20.9016 3.09835C20.5221 2.71876 20.0754 2.47116 19.56 2.31098C19.1644 2.18805 18.7441 2.40905 18.6212 2.8046ZM18.6212 20.6954C18.7441 21.091 19.1644 21.312 19.56 21.189C20.0754 21.0288 20.5221 20.7812 20.9017 20.4017C21.2812 20.0221 21.5288 19.5754 21.689 19.06C21.812 18.6644 21.591 18.2441 21.1954 18.1212C20.7998 17.9983 20.3795 18.2193 20.2566 18.6148C20.1568 18.936 20.0225 19.1595 19.841 19.341C19.6595 19.5225 19.436 19.6568 19.1148 19.7566C18.7193 19.8795 18.4983 20.2998 18.6212 20.6954ZM21.2403 6.79112C20.8261 6.79469 20.4932 7.13337 20.4968 7.54756C20.5 7.9153 20.5 8.31379 20.5 8.75V10.1136C20.5 10.5278 20.8358 10.8636 21.25 10.8636C21.6642 10.8636 22 10.5278 22 10.1136V8.7477C22 8.31395 22 7.90941 21.9968 7.53462C21.9932 7.12043 21.6545 6.78755 21.2403 6.79112ZM21.2403 16.7089C21.6545 16.7125 21.9932 16.3796 21.9968 15.9654C22 15.5906 22 15.186 22 14.7523V13.3864C22 12.9722 21.6642 12.6364 21.25 12.6364C20.8358 12.6364 20.5 12.9721 20.5 13.3864V14.75C20.5 15.1862 20.5 15.5847 20.4968 15.9524C20.4932 16.3666 20.8261 16.7053 21.2403 16.7089Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22white%22/%3E%3C/g%3E%3C/svg%3E"); }
.i-bolt { --src: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M8.73167 5.77133L5.66953 9.91436C4.3848 11.6526 3.74244 12.5217 4.09639 13.205C4.10225 13.2164 4.10829 13.2276 4.1145 13.2387C4.48945 13.9117 5.59888 13.9117 7.81775 13.9117C9.05079 13.9117 9.6673 13.9117 10.054 14.2754L10.074 14.2946L13.946 9.72466L13.926 9.70541C13.5474 9.33386 13.5474 8.74151 13.5474 7.55682V7.24712C13.5474 3.96249 13.5474 2.32018 12.6241 2.03721C11.7007 1.75425 10.711 3.09327 8.73167 5.77133Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22white%22/%3E%3Cpath opacity=%220.5%22 d=%22M10.4527 16.4432L10.4527 16.7528C10.4527 20.0374 10.4527 21.6798 11.376 21.9627C12.2994 22.2457 13.2891 20.9067 15.2685 18.2286L18.3306 14.0856C19.6154 12.3474 20.2577 11.4783 19.9038 10.7949C19.8979 10.7836 19.8919 10.7724 19.8857 10.7613C19.5107 10.0883 18.4013 10.0883 16.1824 10.0883C14.9494 10.0883 14.3329 10.0883 13.9462 9.72461L10.0742 14.2946C10.4528 14.6661 10.4527 15.2585 10.4527 16.4432Z%22 fill=%22white%22/%3E%3C/g%3E%3C/svg%3E"); }
.i-square-up { --src: url("data:image/svg+xml,%3Csvg width=%2223.5439%22 height=%2223.5439%22 viewBox=%220 0 23.5439 23.5439%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath opacity=%220.5%22 d=%22M3.39862 3.39862C4.83525 1.96199 7.14748 1.96199 11.7719 1.96199C16.3964 1.96199 18.7086 1.96199 20.1452 3.39862C21.5819 4.83525 21.5819 7.14748 21.5819 11.7719C21.5819 16.3964 21.5819 18.7086 20.1452 20.1452C18.7086 21.5819 16.3964 21.5819 11.7719 21.5819C7.14748 21.5819 4.83525 21.5819 3.39862 20.1452C1.96199 18.7086 1.96199 16.3964 1.96199 11.7719C1.96199 7.14748 1.96199 4.83525 3.39862 3.39862Z%22 fill=%22white%22/%3E%3Cpath d=%22M12.5077 15.6959C12.5077 16.1022 12.1783 16.4317 11.7719 16.4317C11.3656 16.4317 11.0362 16.1022 11.0362 15.6959L11.0362 9.6242L9.3492 11.3112C9.06187 11.5985 8.59602 11.5985 8.3087 11.3112C8.02137 11.0239 8.02137 10.558 8.3087 10.2707L11.2517 7.3277C11.3897 7.18972 11.5768 7.11221 11.7719 7.11221C11.9671 7.11221 12.1542 7.18972 12.2922 7.3277L15.2352 10.2707C15.5225 10.558 15.5225 11.0239 15.2352 11.3112C14.9478 11.5985 14.482 11.5985 14.1947 11.3112L12.5077 9.6242V15.6959Z%22 fill=%22white%22/%3E%3C/g%3E%3C/svg%3E"); }
.i-arrow-dl { --src: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M17.5303 13.9697C17.8232 14.2626 17.8232 14.7374 17.5303 15.0303L12.5303 20.0303C12.2374 20.3232 11.7626 20.3232 11.4697 20.0303L6.46967 15.0303C6.17678 14.7374 6.17678 14.2626 6.46967 13.9697C6.76256 13.6768 7.23744 13.6768 7.53033 13.9697L11.25 17.6893L11.25 9.5C11.25 8.78668 11.0298 7.70001 10.3913 6.81323C9.7804 5.96468 8.75556 5.25 7 5.25C6.58579 5.25 6.25 4.91421 6.25 4.5C6.25 4.08579 6.58579 3.75 7 3.75C9.24444 3.75 10.7196 4.70198 11.6087 5.93677C12.4702 7.13332 12.75 8.54665 12.75 9.5L12.75 17.6893L16.4697 13.9697C16.7626 13.6768 17.2374 13.6768 17.5303 13.9697Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22%23292D32%22/%3E%3C/g%3E%3C/svg%3E"); }
.i-arrow-up { --src: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M18.1896 14.7618L18.1896 6.17755L9.6053 6.17755%22 stroke-width=%221.5%22 stroke-miterlimit=%2210%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke=%22white%22/%3E%3Cpath d=%22M5.98689 18.0073L17.8875 6.10674%22 stroke-width=%221.5%22 stroke-miterlimit=%2210%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke=%22white%22/%3E%3Cg opacity=%220%22%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.i-arrow-right { --src: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M6 12V9.33C6 6.02 8.35 4.66 11.22 6.32L13.53 7.66L15.84 9C18.71 10.66 18.71 13.37 15.84 15.03L13.53 16.37L11.22 17.71C8.35 19.34 6 17.99 6 14.67V12Z%22 fill=%22white%22 stroke-width=%221.5%22 stroke-miterlimit=%2210%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke=%22white%22/%3E%3Cg opacity=%220%22%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.i-tree { --src: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cg opacity=%220%22%3E%3C/g%3E%3Cpath d=%22M16.17 10.06H7.83C6.65 10.06 6.24 9.27 6.93 8.31L11.1 2.47C11.59 1.77 12.41 1.77 12.9 2.47L17.07 8.31C17.76 9.27 17.35 10.06 16.17 10.06Z%22 fill=%22%23117C5D%22/%3E%3Cpath d=%22M17.59 18H6.41C4.83 18 4.29 16.95 5.22 15.67L9.21 10.06H14.79L18.78 15.67C19.71 16.95 19.17 18 17.59 18Z%22 fill=%22%23117C5D%22/%3E%3Cpath d=%22M12.75 18V22C12.75 22.41 12.41 22.75 12 22.75C11.59 22.75 11.25 22.41 11.25 22V18H12.75Z%22 fill=%22%23117C5D%22/%3E%3C/g%3E%3C/svg%3E"); }
.i-quote { --src: url("data:image/svg+xml,%3Csvg width=%2248%22 height=%2237%22 viewBox=%220 0 48 37%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M17.3617 17.2063C20.2553 19.2762 21.7021 22.2086 21.7021 26.0035C21.7021 29.1946 20.6809 31.8252 18.6383 33.8951C16.5957 35.965 14 37 10.8511 37C7.78723 37 5.19149 36.0513 3.06383 34.1538C1.02128 32.1702 0 29.4534 0 26.0035C0 23.4161 0.978724 20.4837 2.93617 17.2063L13.1489 0H24L17.3617 17.2063ZM41.3617 17.2063C44.2553 19.2762 45.7021 22.2086 45.7021 26.0035C45.7021 29.1946 44.6809 31.8252 42.6383 33.8951C40.5957 35.965 38 37 34.8511 37C31.7872 37 29.1915 36.0513 27.0638 34.1538C25.0213 32.1702 24 29.4534 24 26.0035C24 23.4161 24.9787 20.4837 26.9362 17.2063L37.1489 0H48L41.3617 17.2063Z%22 fill=%22%23117C5D%22/%3E%3C/svg%3E"); }
.i-7dd { --src: url("data:image/svg+xml,%3Csvg width=%2290%22 height=%2237.7422%22 viewBox=%220 0 90 37.7422%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M31.1738 8.29102L18.1982 37.7422H5.00684L17.4443 9.58398H10.9834V14.8604H0V0H31.1738V8.29102ZM69.4863 0C73.6141 0 77.2217 0.772002 80.3086 2.31543C83.3954 3.85886 85.7827 6.06603 87.4697 8.9375C89.1566 11.773 89.9999 15.0751 90 18.8438C90 22.6484 89.1388 25.9691 87.416 28.8047C85.6931 31.6403 83.2336 33.8474 80.0391 35.4268C76.8805 36.9701 73.2014 37.7422 69.002 37.7422H34.2188V0H69.4863ZM46.71 28.0508H51.3945C53.6556 28.0507 55.4503 27.2252 56.7783 25.5742C58.1422 23.9232 58.8242 21.7158 58.8242 18.9521C58.8242 16.1524 58.0879 13.9087 56.6162 12.2217C55.1805 10.5349 53.2424 9.69141 50.8018 9.69141H46.71V28.0508ZM73.9062 10.3652C73.209 10.3652 72.5353 10.5956 71.1885 11.0566L70.6963 11.2256C68.1124 12.11 66.8205 12.5524 66.4961 13.0146C66.1718 13.477 66.1719 14.8509 66.1719 17.5986V18.9521C66.1721 23.7969 69.814 26.1479 72.0996 27.1465C72.7196 27.4173 73.0303 27.5527 73.9062 27.5527C74.782 27.5527 75.092 27.4173 75.7119 27.1465C77.9975 26.148 81.6404 23.7972 81.6406 18.9521V17.5986C81.6406 14.8514 81.6406 13.4773 81.3164 13.0146C80.992 12.5524 79.6998 12.11 77.1162 11.2256L76.624 11.0566C75.2773 10.5956 74.6035 10.3653 73.9062 10.3652Z%22 fill=%22white%22/%3E%3C/svg%3E"); }

.ap-iconbox {
  display: inline-grid;
  place-items: center;
  flex: none;
  inline-size: var(--icon-box);
  block-size: var(--icon-box);
  border-radius: var(--radius-pill);
  background: var(--brand);
  color: var(--on-brand);
}
.ap-iconbox--sm { inline-size: var(--icon-box-sm); block-size: var(--icon-box-sm); }
.ap-iconbox--lg { inline-size: var(--icon-box-lg); block-size: var(--icon-box-lg); background: var(--brand-bright); }

/* ---------- Logo (Method / Arata power) ---------- */
.ap-logo {
  --logo-box: 42px; --logo-leaf: 36px; --logo-pl: 40px;
  --logo-m: var(--fs-logo-sm); --logo-t: var(--fs-label);
  --logo-mt: 6px; --logo-tt: -5px; --logo-mlh: 16px;
  position: relative;
  display: inline-block;
  min-block-size: var(--logo-box);
  padding-inline-start: var(--logo-pl);
  color: var(--ink);
  white-space: nowrap;
  line-height: var(--lh-normal);
}
.ap-logo--md { --logo-box: 48px; --logo-leaf: 42px; --logo-pl: 46px; --logo-m: var(--fs-logo-sm-2); --logo-t: var(--fs-subtitle); --logo-mt: 7px; --logo-tt: -5px; --logo-mlh: 18px; }
.ap-logo--lg { --logo-box: 60px; --logo-leaf: 50px; --logo-pl: 56px; --logo-m: var(--fs-body-lg); --logo-t: var(--fs-logo-lg); --logo-mt: 8px; --logo-tt: -6px; --logo-mlh: 22px; }
.ap-logo--white { color: var(--white); }
.ap-logo__leaf {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: var(--logo-box);
  block-size: var(--logo-box);
  display: grid;
  place-items: center;
}
.ap-logo__leaf::before {
  content: "";
  inline-size: var(--logo-leaf);
  block-size: var(--logo-leaf);
  background: var(--brand);
  -webkit-mask: url("data:image/svg+xml,%3Csvg width=%2236%22 height=%2236%22 viewBox=%220 0 36 36%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M18 33C11.3726 33 6 27.5312 6 20.7851C6 14.0918 9.82999 6.28138 15.8056 3.48833C16.5021 3.16278 17.2511 3 18 3V33Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.3%22 d=%22M20.1944 3.48833C19.4979 3.16278 18.7489 3 18 3V13.5001L24.6475 6.85261C23.3534 5.43088 21.8569 4.26542 20.1944 3.48833Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.4%22 d=%22M18 13.5001V21.7501L27.9214 11.8287C27.0632 9.9984 25.9593 8.29385 24.6475 6.85263L18 13.5001Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.6%22 d=%22M18 29.2501L29.7165 17.5335C29.3866 15.5978 28.7758 13.6509 27.9214 11.8286L18 21.7501V29.2501Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.7%22 d=%22M29.7165 17.5335L18 29.25V33C24.6274 33 30 27.5311 30 20.785C30 19.7212 29.9032 18.6292 29.7165 17.5335Z%22 fill=%22%23117C5D%22/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width=%2236%22 height=%2236%22 viewBox=%220 0 36 36%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M18 33C11.3726 33 6 27.5312 6 20.7851C6 14.0918 9.82999 6.28138 15.8056 3.48833C16.5021 3.16278 17.2511 3 18 3V33Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.3%22 d=%22M20.1944 3.48833C19.4979 3.16278 18.7489 3 18 3V13.5001L24.6475 6.85261C23.3534 5.43088 21.8569 4.26542 20.1944 3.48833Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.4%22 d=%22M18 13.5001V21.7501L27.9214 11.8287C27.0632 9.9984 25.9593 8.29385 24.6475 6.85263L18 13.5001Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.6%22 d=%22M18 29.2501L29.7165 17.5335C29.3866 15.5978 28.7758 13.6509 27.9214 11.8286L18 21.7501V29.2501Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.7%22 d=%22M29.7165 17.5335L18 29.25V33C24.6274 33 30 27.5311 30 20.785C30 19.7212 29.9032 18.6292 29.7165 17.5335Z%22 fill=%22%23117C5D%22/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  transform: rotate(11.57deg);
}
.ap-logo--white .ap-logo__leaf::before { background: var(--white); }
.ap-logo__m { display: block; padding-block-start: var(--logo-mt); font-size: var(--logo-m); line-height: var(--logo-mlh); font-weight: var(--fw-regular); }
.ap-logo__t { display: block; margin-block-start: var(--logo-tt); font-size: var(--logo-t); font-weight: var(--fw-semibold); }

/* ---------- Eyebrow ---------- */
.ap-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-block-size: 42px;
  padding-inline-start: 40px;
  font-size: var(--fs-label);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-label);
  color: var(--ink);
  white-space: nowrap;
}
.ap-eyebrow::before {
  content: "";
  position: absolute;
  inset-inline-start: 3px;
  inset-block-start: 3px;
  inline-size: var(--icon-eyebrow);
  block-size: var(--icon-eyebrow);
  background: var(--brand);
  -webkit-mask: url("data:image/svg+xml,%3Csvg width=%2236%22 height=%2236%22 viewBox=%220 0 36 36%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M18 33C11.3726 33 6 27.5312 6 20.7851C6 14.0918 9.82999 6.28138 15.8056 3.48833C16.5021 3.16278 17.2511 3 18 3V33Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.3%22 d=%22M20.1944 3.48833C19.4979 3.16278 18.7489 3 18 3V13.5001L24.6475 6.85261C23.3534 5.43088 21.8569 4.26542 20.1944 3.48833Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.4%22 d=%22M18 13.5001V21.7501L27.9214 11.8287C27.0632 9.9984 25.9593 8.29385 24.6475 6.85263L18 13.5001Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.6%22 d=%22M18 29.2501L29.7165 17.5335C29.3866 15.5978 28.7758 13.6509 27.9214 11.8286L18 21.7501V29.2501Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.7%22 d=%22M29.7165 17.5335L18 29.25V33C24.6274 33 30 27.5311 30 20.785C30 19.7212 29.9032 18.6292 29.7165 17.5335Z%22 fill=%22%23117C5D%22/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width=%2236%22 height=%2236%22 viewBox=%220 0 36 36%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M18 33C11.3726 33 6 27.5312 6 20.7851C6 14.0918 9.82999 6.28138 15.8056 3.48833C16.5021 3.16278 17.2511 3 18 3V33Z%22 fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.3%22 d=%22M20.1944 3.48833C19.4979 3.16278 18.7489 3 18 3V13.5001L24.6475 6.85261C23.3534 5.43088 21.8569 4.26542 20.1944 3.48833Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.4%22 d=%22M18 13.5001V21.7501L27.9214 11.8287C27.0632 9.9984 25.9593 8.29385 24.6475 6.85263L18 13.5001Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.6%22 d=%22M18 29.2501L29.7165 17.5335C29.3866 15.5978 28.7758 13.6509 27.9214 11.8286L18 21.7501V29.2501Z%22 fill=%22%23117C5D%22/%3E%3Cpath opacity=%220.7%22 d=%22M29.7165 17.5335L18 29.25V33C24.6274 33 30 27.5311 30 20.785C30 19.7212 29.9032 18.6292 29.7165 17.5335Z%22 fill=%22%23117C5D%22/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  transform: rotate(11.57deg);
}
.ap-eyebrow__leaf { display: none; }
.on-brand .ap-eyebrow, .ap-guar .ap-eyebrow { color: var(--white); }
.on-brand .ap-eyebrow::before, .ap-guar .ap-eyebrow::before { background: var(--white); }

.ap-eyebrow--b {
  min-block-size: 40px;
  padding: 0 var(--sp-4) 0 40px;
  background: var(--white);
  border-radius: var(--radius-pill);
  font-size: var(--fs-body);
  box-shadow: var(--shadow-sm);
}
.ap-eyebrow--b::before { inline-size: var(--icon); block-size: var(--icon); inset-inline-start: var(--sp-3); inset-block-start: 8px; }
.on-brand .ap-eyebrow--b, .ap-guar .ap-eyebrow--b { background: var(--brand-deep); box-shadow: none; }

.ap-eyebrow--c {
  min-block-size: 24px;
  padding-inline-start: 28px;
  font-size: var(--fs-small);
  text-transform: uppercase;
  color: var(--brand);
}
.ap-eyebrow--c::before { inline-size: var(--icon-sm); block-size: var(--icon-sm); inset-inline-start: 0; inset-block-start: 2px; }

/* ==========================================================================
   01 CTA composto
   ========================================================================== */
.ap-cta {
  --cta-bg: var(--brand);
  --cta-fg: var(--on-brand);
  --cta-dot: var(--brand-bright);
  --cta-dot-fg: var(--on-brand);
  position: relative;
  display: inline-flex;
  align-items: stretch;
  padding: 0;
  border: 0;
  background: none;
  border-radius: var(--radius-pill);
  text-decoration: none;
  color: var(--cta-fg);
  -webkit-tap-highlight-color: transparent;
  transform: translateY(calc(var(--h) * var(--lift))) scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-cta:active, .ap-cta.is-active { transition-duration: var(--dur-press); }
.on-brand .ap-cta { --cta-bg: var(--white); --cta-fg: var(--brand); --cta-dot: var(--brand-deep); }

.ap-cta__pill {
  position: relative;
  display: inline-grid;
  place-items: center;
  inline-size: var(--cta-w, 364px);
  max-inline-size: calc(100vw - var(--icon-box-lg) - 2 * var(--sp-5));
  block-size: var(--control-h);
  padding: 0 10px;
  border-radius: var(--radius-pill);
  background: var(--cta-bg);
  box-shadow: var(--shadow-clean);
}
/* reforço de sombra no hover (só opacidade) */
.ap-cta__pill::after, .ap-cta__dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: var(--shadow-sm);
  opacity: var(--h);
  transition: opacity var(--dur-hover) var(--ease-out);
  pointer-events: none;
}
.ap-cta__label {
  grid-area: 1 / 1;
  font-size: var(--fs-lead);
  font-weight: var(--fw-regular);
  line-height: var(--lh-normal);
  white-space: nowrap;
  transition: opacity var(--dur-exit) var(--ease-out), transform var(--dur-exit) var(--ease-out);
}
.ap-cta__dot {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: none;
  inline-size: var(--icon-box-lg);
  block-size: var(--icon-box-lg);
  border-radius: var(--radius-pill);
  background: var(--cta-dot);
  color: var(--cta-dot-fg);
  box-shadow: var(--shadow-clean);
  overflow: hidden;
}
.ap-cta__dot .ap-icon { transition: transform var(--dur-hover) var(--ease-out); }

/* enviando: mesmo tamanho, rótulo troca por "Sending" */
.ap-cta__sending {
  grid-area: 1 / 1;
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-size: var(--fs-lead);
  line-height: var(--lh-normal);
  white-space: nowrap;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--dur-exit) var(--ease-out), transform var(--dur-exit) var(--ease-out);
}
.ap-cta.is-sending { pointer-events: none; }
.ap-cta.is-sending .ap-cta__label { opacity: 0; transform: translateY(-8px); }
.ap-cta.is-sending .ap-cta__sending { opacity: 1; transform: none; }
.ap-cta.is-sending .ap-cta__dot .ap-icon { animation: ap-nudge 900ms var(--ease-inout) infinite; }
.ap-dots { display: inline-flex; gap: 3px; }
.ap-dots i { inline-size: 4px; block-size: 4px; border-radius: 50%; background: currentColor; animation: ap-dot 1.2s var(--ease-inout) infinite; }
.ap-dots i:nth-child(2) { animation-delay: 160ms; }
.ap-dots i:nth-child(3) { animation-delay: 320ms; }
@keyframes ap-dot { 0%, 80%, 100% { opacity: 0.25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
@keyframes ap-nudge { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(3px, -3px); } }

/* B: pílula escurece, círculo anda, seta gira */
.ap-cta--b .ap-cta__pill, .ap-cta--b .ap-cta__dot { box-shadow: var(--shadow-md); }
.ap-cta--b .ap-cta__pill::after { background: var(--brand-deep); box-shadow: none; }
.on-brand .ap-cta--b .ap-cta__pill::after { background: var(--bg); }
.ap-cta--b .ap-cta__label { position: relative; z-index: 1; }
.ap-cta--b .ap-cta__dot { transform: translateX(calc(var(--h) * 4px)); transition: transform var(--dur-hover) var(--ease-out); }
.ap-cta--b .ap-cta__dot .ap-icon { transform: rotate(calc(var(--h) * 45deg)); }
.ap-cta--b { transform: scale(calc(1 - var(--p) * (1 - var(--press-scale)))); }

/* C: 56, rótulo 20/500, folga 6, seta troca */
.ap-cta--c { gap: 6px; }
.ap-cta--c .ap-cta__pill { inline-size: auto; block-size: 56px; padding: 0 var(--sp-10); box-shadow: var(--shadow-md); }
.ap-cta--c .ap-cta__label { font-size: var(--fs-label); font-weight: var(--fw-medium); }
.ap-cta--c .ap-cta__dot { inline-size: 56px; block-size: 56px; box-shadow: var(--shadow-md); }
.ap-cta--c .ap-cta__a1, .ap-cta--c .ap-cta__a2 { grid-area: 1 / 1; }
.ap-cta--c .ap-cta__a1 { transform: translate(calc(var(--h) * 28px), calc(var(--h) * -28px)); }
.ap-cta--c .ap-cta__a2 { transform: translate(calc((1 - var(--h)) * -28px), calc((1 - var(--h)) * 28px)); }

/* D: círculo dentro da pílula, raio concêntrico (64 = 52 + 6 + 6) */
.ap-cta--d .ap-cta__pill {
  inline-size: auto;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-6);
  padding: 6px 6px 6px var(--sp-10);
}
.ap-cta--d .ap-cta__label, .ap-cta--d .ap-cta__sending { grid-area: auto; }
.ap-cta--d .ap-cta__pill { inline-size: 100%; max-inline-size: 100%; justify-content: space-between; }
.ap-cta--d .ap-cta__sending { position: absolute; inset-inline-start: var(--sp-10); }
.ap-cta--d .ap-cta__dot {
  inline-size: 52px;
  block-size: 52px;
  box-shadow: none;
  transform: scale(calc(1 + var(--h) * 0.06));
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-cta--d .ap-cta__dot::after { display: none; }
.ap-cta--d .ap-cta__dot .ap-icon { transform: rotate(calc(var(--h) * 45deg)); }

/* ==========================================================================
   02 Link / secundário
   ========================================================================== */
.ap-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  min-block-size: var(--hit-min);
  padding: 0;
  border: 0;
  background: none;
  color: var(--ink);
  font-size: var(--fs-label);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-label);
  text-decoration: none;
  white-space: nowrap;
  border-radius: var(--sp-2);
  transform: translateY(calc(var(--h) * var(--lift))) scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  transition: transform var(--dur-hover) var(--ease-out);
}
.on-brand .ap-link { color: var(--white); }

.ap-link--b {
  gap: var(--sp-3);
  block-size: 56px;
  padding: 0 8px 0 var(--sp-6);
  border: 1.5px solid currentColor;
  border-radius: var(--radius-pill);
  transform: scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  isolation: isolate;
}
.ap-link--b::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: currentColor;
  opacity: calc(var(--h) * 0.08);
  transition: opacity var(--dur-hover) var(--ease-out);
}
.ap-link__dot { display: inline-grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: var(--radius-pill); background: var(--surface); color: var(--ink); }
.on-brand .ap-link__dot { background: var(--white); color: var(--brand); }
.ap-link--b .ap-icon { transform: rotate(calc(var(--h) * 45deg)); transition: transform var(--dur-hover) var(--ease-out); }

.ap-link--c { transform: scale(calc(1 - var(--p) * (1 - var(--press-scale)))); }
.ap-link__t { position: relative; }
.ap-link__t::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: -4px;
  block-size: 2px;
  background: var(--brand);
  transform: scaleX(var(--h));
  transform-origin: left center;
  transition: transform var(--dur-hover) var(--ease-out);
}
.on-brand .ap-link__t::after { background: var(--white); }
.ap-link--c .ap-icon { transform: translate(calc(var(--h) * 3px), calc(var(--h) * -3px)); transition: transform var(--dur-hover) var(--ease-out); }

.ap-link--d {
  block-size: 56px;
  padding: 0 var(--sp-6) 0 var(--sp-8);
  border-radius: var(--radius-pill);
  background: var(--surface);
  isolation: isolate;
  transform: scale(calc(1 - var(--p) * (1 - var(--press-scale))));
}
.ap-link--d::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  box-shadow: var(--shadow-md);
  opacity: var(--h);
  transition: opacity var(--dur-hover) var(--ease-out);
}
.ap-link--d .ap-icon { transform: rotate(calc(var(--h) * 45deg)); transition: transform var(--dur-hover) var(--ease-out); }
.on-brand .ap-link--d { background: var(--white); color: var(--brand); }

/* ==========================================================================
   03 Nav
   ========================================================================== */
.ap-nav {
  position: relative;
  display: grid;
  grid-template-columns: 266px minmax(0, 1fr);
  gap: var(--sp-6);
  inline-size: 100%;
  max-inline-size: var(--container);
}
.ap-nav__logo {
  display: grid;
  place-items: center;
  block-size: 62px;
  border-radius: var(--radius-pill);
  background: var(--white);
  text-decoration: none;
}
.ap-nav__bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: 62px;
  border-radius: var(--radius-pill);
  background: var(--white);
}
.ap-nav__list {
  display: flex;
  align-items: center;
  gap: var(--sp-16);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ap-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  min-block-size: var(--hit-min);
  padding: 0;
  border: 0;
  background: none;
  border-radius: var(--sp-2);
  color: var(--ink);
  font-size: var(--fs-label);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-label);
  text-decoration: none;
  white-space: nowrap;
  transform: translateY(calc(var(--h) * var(--lift))) scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-dd { position: relative; }
.ap-dd__trigger .ap-icon { color: var(--ink); transition: transform var(--dur-hover) var(--ease-out); }
.ap-dd.is-open .ap-dd__trigger .ap-icon { transform: translateY(3px); }
.ap-dd__panel {
  position: absolute;
  inset-block-start: calc(100% + var(--sp-5));
  inset-inline-start: 50%;
  z-index: 20;
  display: grid;
  min-inline-size: 260px;
  padding: var(--sp-2);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-clean);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity var(--dur-exit) var(--ease-in), transform var(--dur-exit) var(--ease-in), visibility 0s linear var(--dur-exit);
}
.ap-dd.is-open .ap-dd__panel {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  transition: opacity var(--dur-hover) var(--ease-out), transform var(--dur-hover) var(--ease-out), visibility 0s;
}
.ap-dd__item, .ap-dd__rich {
  position: relative;
  display: flex;
  align-items: center;
  min-block-size: 44px;
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--sp-3); /* 20 = 12 + 8: concêntrico */
  color: var(--ink);
  font-size: var(--fs-body);
  text-decoration: none;
  isolation: isolate;
}
.ap-dd__item::before, .ap-dd__rich::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--bg);
  opacity: var(--h);
  transition: opacity var(--dur-hover) var(--ease-out);
}
.ap-dd__item:is(:focus-visible, .is-focus), .ap-dd__rich:is(:focus-visible, .is-focus) { outline-offset: -2px; }
.ap-nav__burger { display: none; }

/* B: pílula --bg atrás do link (opacidade + escala) */
.ap-nav--b .ap-nav__link { transform: scale(calc(1 - var(--p) * (1 - var(--press-scale)))); isolation: isolate; }
.ap-nav--b .ap-nav__link::before {
  content: "";
  position: absolute;
  inset: 0 calc(-1 * var(--sp-4));
  z-index: -1;
  border-radius: var(--radius-pill);
  background: var(--bg);
  opacity: var(--h);
  transform: scale(calc(0.9 + var(--h) * 0.1));
  transition: opacity var(--dur-hover) var(--ease-out), transform var(--dur-hover) var(--ease-out);
}
.ap-nav--b .ap-dd.is-open > .ap-nav__link { --h: 1; }
.ap-nav--b .ap-dd__panel { transform: translate(-50%, 0) scale(0.96); transform-origin: 50% 0; }
.ap-nav--b .ap-dd.is-open .ap-dd__panel { transform: translate(-50%, 0) scale(1); }

/* C: ponto da página atual + dropdown rico */
.ap-nav--c .ap-nav__link { transform: scale(calc(1 - var(--p) * (1 - var(--press-scale)))); }
.ap-nav--c .ap-nav__link::after {
  content: "";
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: -2px;
  inline-size: 6px;
  block-size: 6px;
  margin-inline-start: -3px;
  border-radius: 50%;
  background: var(--brand);
  opacity: var(--h);
  transform: scale(calc(0.4 + var(--h) * 0.6));
  transition: opacity var(--dur-hover) var(--ease-out), transform var(--dur-hover) var(--ease-out);
}
.ap-nav--c .ap-nav__link[aria-current="page"]::after { opacity: 1; transform: none; }
.ap-dd__panel--rich { min-inline-size: 340px; gap: var(--sp-1); }
.ap-dd__rich { gap: var(--sp-3); padding: var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-2); }
.ap-dd__rich b { display: block; font-size: var(--fs-body); font-weight: var(--fw-semibold); }
.ap-dd__rich small { display: block; font-size: var(--fs-small); color: var(--ink-muted); }
.ap-dd__rich .ap-iconbox { transform: scale(calc(1 + var(--h) * 0.06)); transition: transform var(--dur-hover) var(--ease-out); }

/* ==========================================================================
   04 Card de pilar
   ========================================================================== */
.ap-pillar {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--sp-1);
  inline-size: 630px;
  max-inline-size: 100%;
  min-block-size: 244px;
  padding: 0 var(--sp-10);
  border-radius: var(--radius-sm);
  background: var(--surface);
  box-shadow: var(--shadow-clean);
  outline-offset: 4px;
  transform: translateY(calc(var(--h) * var(--lift)));
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-pillar::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: var(--shadow-sm);
  opacity: var(--h);
  transition: opacity var(--dur-hover) var(--ease-out);
  pointer-events: none;
}
.ap-pillar__head { display: flex; align-items: center; gap: var(--sp-3); }
.ap-pillar__t { max-inline-size: 360px; font-size: var(--fs-h3); font-weight: var(--fw-bold); line-height: var(--lh-normal); color: var(--ink); }
.ap-pillar__d { max-inline-size: 424px; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink-muted); }

.ap-pillar--b { background: var(--white); box-shadow: var(--shadow-md); transform: translateY(calc(var(--h) * -4px)); }
.ap-pillar--b::after { box-shadow: var(--shadow-clean); }
.ap-pillar--b .ap-iconbox { transform: scale(calc(1 + var(--h) * 0.06)); transition: transform var(--dur-hover) var(--ease-out); }

.ap-pillar--c { min-block-size: 0; padding: var(--sp-10) var(--sp-10) var(--sp-10) var(--sp-12); box-shadow: var(--shadow-md); overflow: hidden; transform: none; gap: var(--sp-2); }
.ap-pillar--c::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 6px;
  background: var(--brand);
  transform: scaleY(calc(0.25 + var(--h) * 0.75));
  transform-origin: center top;
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-pillar__n { position: absolute; inset-block-start: var(--sp-6); inset-inline-end: var(--sp-8); font-size: var(--fs-label); font-weight: var(--fw-semibold); color: var(--brand); }

/* ==========================================================================
   05 Depoimento + carrossel
   ========================================================================== */
.ap-carousel { inline-size: 100%; min-inline-size: 0; overflow-x: clip; }
.ap-carousel__track {
  display: flex;
  gap: var(--sp-6);
  padding-block: var(--sp-6) var(--sp-6);
  touch-action: pan-y;
  transform: translateX(var(--tx, 0px));
  transition: transform 640ms var(--ease-out);
  user-select: none;
}
.ap-carousel__track:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; border-radius: var(--radius-md); }

.ap-quote {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 0 541px;
  max-inline-size: 100%;
  min-block-size: 320px;
  padding: var(--sp-10) 36px 36px var(--sp-12);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-clean);
}
.ap-quote__mark { position: absolute; inset-block-start: calc(-1 * var(--sp-5)); inset-inline-start: var(--sp-12); inline-size: 48px; block-size: 37px; color: var(--brand); }
.ap-quote__t { max-inline-size: 280px; font-size: var(--fs-label); font-weight: var(--fw-bold); line-height: var(--lh-label); color: var(--ink); }
.ap-quote__q { max-inline-size: 456px; margin-block-start: var(--sp-4); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink-muted); }
.ap-quote__who { display: flex; align-items: center; gap: var(--sp-2); margin-block-start: auto; margin-inline-start: calc(-1 * var(--sp-3)); padding-block-start: var(--sp-4); }
.ap-quote__av { inline-size: 62px; block-size: 62px; border-radius: 50%; object-fit: cover; }
.ap-quote__who b { display: block; font-size: var(--fs-label); font-weight: var(--fw-bold); line-height: var(--lh-label); }
.ap-quote__who small { display: block; margin-block-start: 2px; font-size: var(--fs-caption); line-height: var(--lh-normal); }

.ap-arrows { display: flex; gap: var(--sp-3); inline-size: max-content; }
.ap-arrow {
  display: inline-grid;
  place-items: center;
  inline-size: var(--icon-box);
  block-size: var(--icon-box);
  padding: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--brand);
  color: var(--on-brand);
  transform: translateY(calc(var(--h) * var(--lift))) scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  transition: transform var(--dur-hover) var(--ease-out), opacity var(--dur-hover) var(--ease-out);
}
.ap-arrow--prev .ap-icon { transform: rotate(180deg); }
.ap-arrow[aria-disabled="true"] { opacity: 0.35; }

/* B */
.ap-quote--b { background: var(--white); box-shadow: var(--shadow-md); padding-block-start: var(--sp-8); }
.ap-quote--b .ap-quote__mark { position: static; inline-size: 32px; block-size: 25px; margin-block-end: var(--sp-4); }
.ap-quote--b .ap-quote__who { margin-inline-start: 0; gap: var(--sp-3); }
.ap-quote--b .ap-quote__av { inline-size: 48px; block-size: 48px; }
.ap-quote--b .ap-quote__who b { font-size: var(--fs-body); }
.ap-arrow--o { position: relative; background: none; border: 1.5px solid var(--brand); color: var(--brand); isolation: isolate; transform: scale(calc(1 - var(--p) * (1 - var(--press-scale)))); }
.ap-arrow--o::before { content: ""; position: absolute; inset: -1.5px; z-index: -1; border-radius: inherit; background: var(--brand); opacity: var(--h); transition: opacity var(--dur-hover) var(--ease-out); }
.ap-arrow--o::after { content: ""; position: absolute; inset: 0; margin: auto; inline-size: var(--icon); block-size: var(--icon); background: var(--on-brand); -webkit-mask: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M6 12V9.33C6 6.02 8.35 4.66 11.22 6.32L13.53 7.66L15.84 9C18.71 10.66 18.71 13.37 15.84 15.03L13.53 16.37L11.22 17.71C8.35 19.34 6 17.99 6 14.67V12Z%22 fill=%22white%22 stroke-width=%221.5%22 stroke-miterlimit=%2210%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke=%22white%22/%3E%3Cg opacity=%220%22%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%3E%3Cpath d=%22M6 12V9.33C6 6.02 8.35 4.66 11.22 6.32L13.53 7.66L15.84 9C18.71 10.66 18.71 13.37 15.84 15.03L13.53 16.37L11.22 17.71C8.35 19.34 6 17.99 6 14.67V12Z%22 fill=%22white%22 stroke-width=%221.5%22 stroke-miterlimit=%2210%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke=%22white%22/%3E%3Cg opacity=%220%22%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; opacity: var(--h); transition: opacity var(--dur-hover) var(--ease-out); }
.ap-arrow--o.ap-arrow--prev::after { transform: rotate(180deg); }

/* C */
.ap-quote--c { background: var(--white); box-shadow: var(--shadow-sm); padding: var(--sp-12) var(--sp-10) var(--sp-8); }
.ap-quote--c .ap-quote__mark { inset-block-start: var(--sp-6); inset-inline-start: auto; inset-inline-end: var(--sp-8); inline-size: 32px; block-size: 25px; opacity: 0.35; }
.ap-quote--c .ap-quote__q { margin: 0; font-size: var(--fs-label); color: var(--ink); max-inline-size: none; }
.ap-quote--c .ap-quote__who { margin-inline-start: 0; gap: var(--sp-3); padding-block-start: var(--sp-5); margin-block-start: var(--sp-6); border-block-start: 1px solid var(--line); }
.ap-quote--c .ap-quote__av { inline-size: 48px; block-size: 48px; }
.ap-quote--c .ap-quote__who b { font-size: var(--fs-body); }
.ap-quote--c .ap-quote__who small { font-size: var(--fs-small); color: var(--ink-muted); }
.ap-arrows--pill { display: inline-flex; align-items: center; gap: var(--sp-2); padding: var(--sp-1); border-radius: var(--radius-pill); background: var(--white); box-shadow: var(--shadow-sm); }
.ap-arrow--ghost { background: var(--bg); color: var(--ink); }
.ap-arrows__count { min-inline-size: 48px; text-align: center; font-size: var(--fs-small); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
.ap-carousel--c .ap-carousel__bar { display: block; block-size: 2px; margin-block-start: var(--sp-5); background: var(--surface); border-radius: var(--radius-pill); overflow: hidden; }
.ap-carousel__bar { display: none; }
.ap-carousel__bar span { display: block; block-size: 100%; background: var(--brand); transform-origin: left center; transform: scaleX(var(--prog, 0.333)); transition: transform var(--dur-hover) var(--ease-out); }
.ap-carousel--c .ap-arrows--pill { margin-block-start: 0; }

/* ==========================================================================
   06 Diferencial
   ========================================================================== */
.ap-diff {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--sp-1);
  inline-size: 413px;
  max-inline-size: 100%;
  min-block-size: 278px;
  padding: 0 var(--sp-10);
  border-radius: var(--radius-sm);
  background: var(--surface);
  box-shadow: var(--shadow-clean);
  transform: translateY(calc(var(--h) * var(--lift)));
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-diff::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: var(--shadow-sm); opacity: var(--h); transition: opacity var(--dur-hover) var(--ease-out); pointer-events: none; }
.ap-diff__head { display: flex; align-items: center; gap: var(--sp-3); }
.ap-diff__t { max-inline-size: 306px; font-size: var(--fs-h3); font-weight: var(--fw-bold); line-height: var(--lh-normal); color: var(--ink); }
.ap-diff__d { max-inline-size: 350px; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink-muted); }

.ap-diff--b { justify-content: flex-start; gap: var(--sp-3); padding: var(--sp-10); background: var(--white); box-shadow: var(--shadow-md); transform: translateY(calc(var(--h) * -4px)); }
.ap-diff--b .ap-diff__head { flex-direction: column; align-items: flex-start; gap: var(--sp-5); }
.ap-diff--b .ap-iconbox { transform: rotate(calc(var(--h) * 8deg)); transition: transform var(--dur-hover) var(--ease-out); }
.ap-diff--b::after { box-shadow: var(--shadow-clean); }

.ap-diff--c { justify-content: flex-start; gap: var(--sp-3); padding: var(--sp-10); background: var(--bg); box-shadow: none; border: 1px solid var(--line); overflow: hidden; transform: none; }
.ap-diff--c::after { display: none; }
.ap-diff--c::before { content: ""; position: absolute; inset-inline: 0; inset-block-start: 0; block-size: 4px; background: var(--brand); transform: scaleX(calc(0.12 + var(--h) * 0.88)); transform-origin: left center; transition: transform var(--dur-hover) var(--ease-out); }
.ap-diff--c .ap-iconbox { transform: translateY(calc(var(--h) * -4px)); transition: transform var(--dur-hover) var(--ease-out); }

/* ==========================================================================
   07 Chips
   ========================================================================== */
.ap-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  inline-size: 244px;
  block-size: 48px;
  border-radius: var(--radius-pill);
  background: var(--white);
  box-shadow: var(--shadow-clean);
  color: var(--ink-subtle);
  font-size: var(--fs-label);
  font-weight: var(--fw-regular);
  line-height: var(--lh-normal);
  text-transform: uppercase;
  white-space: nowrap;
  transform: translateY(calc(var(--h) * var(--lift))) scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-chip > .ap-icon { color: var(--brand); }
.ap-chip--b {
  inline-size: auto;
  block-size: 40px;
  padding: 0 var(--sp-4) 0 var(--sp-3);
  background: rgb(255 255 255 / 0.72);
  -webkit-backdrop-filter: blur(var(--blur-glass));
  backdrop-filter: blur(var(--blur-glass));
  box-shadow: var(--shadow-sm);
  color: var(--ink);
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
}
.ap-chip--c {
  inline-size: auto;
  block-size: 48px;
  padding: 0 var(--sp-5) 0 var(--sp-2);
  gap: var(--sp-3);
  box-shadow: var(--shadow-md);
  color: var(--ink);
  font-size: var(--fs-body-lg);
  font-weight: var(--fw-medium);
  text-transform: none;
  animation: ap-float var(--dur-float) var(--ease-inout) infinite;
  animation-delay: var(--float-delay, 0s);
}
.ap-chip__ic { display: inline-grid; place-items: center; inline-size: 32px; block-size: 32px; border-radius: var(--radius-pill); background: var(--brand); color: var(--on-brand); }
.ap-chip--float { animation: ap-float var(--dur-float) var(--ease-inout) infinite; animation-delay: var(--float-delay, 0s); }
@keyframes ap-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }

/* ==========================================================================
   08 Campos
   ========================================================================== */
.ap-form { display: grid; gap: var(--sp-4); inline-size: 542px; max-inline-size: 100%; }
.ap-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2); }
.ap-form > .ap-cta { justify-self: start; margin-block-start: var(--sp-2); }
.ap-form__status { min-block-size: 20px; font-size: var(--fs-small); color: var(--brand); }
.ap-field { position: relative; display: grid; }
.ap-input {
  inline-size: 100%;
  block-size: var(--control-h);
  padding: 0 var(--control-pad);
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--field);
  color: var(--ink);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  outline: none;
}
.ap-input::placeholder { color: var(--ink-subtle); opacity: 1; }
.ap-input:focus-visible, .ap-field.is-focus .ap-input { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.ap-field.is-hover .ap-input, .ap-input:hover { box-shadow: inset 0 0 0 1px var(--line); }
.ap-input:disabled, .ap-field.is-disabled .ap-input { opacity: 0.5; cursor: not-allowed; }
.ap-input[aria-invalid="true"], .ap-field.is-error .ap-input { box-shadow: inset 0 0 0 2px var(--ink); }
.ap-field.is-success .ap-input { box-shadow: inset 0 0 0 2px var(--brand); }
.ap-field__msg { margin: var(--sp-2) 0 0 var(--control-pad); font-size: var(--fs-small); line-height: var(--lh-normal); color: var(--ink); }
.ap-field__msg::before { content: "! "; font-weight: var(--fw-bold); }
.ap-field.is-success .ap-field__msg { color: var(--brand); }
.ap-field.is-success .ap-field__msg::before { content: ""; }
.ap-textarea { block-size: 253px; padding: var(--sp-6) var(--control-pad); border-radius: var(--radius-xl); resize: vertical; min-block-size: 140px; }
.ap-textarea::-webkit-resizer { background: transparent; border: 0; }
.ap-textarea__grip { position: absolute; inset-inline-end: 31px; inset-block-start: 215px; inline-size: 13px; block-size: 13px; pointer-events: none; }
.ap-textarea__grip::before { content: ""; position: absolute; inset: 0; background: var(--grip); -webkit-mask: url("data:image/svg+xml,%3Csvg width=%2212.8548%22 height=%2212.4348%22 viewBox=%220 0 12.8548 12.4348%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M10.839 12.4348H2.01986C0.200175 12.4348 -0.688055 10.2142 0.62965 8.95928L9.44879 0.560095C10.7322 -0.66217 12.8548 0.247528 12.8548 2.01981V10.419C12.8548 11.5323 11.9523 12.4348 10.839 12.4348Z%22 fill=%22%23969696%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg width=%2212.8548%22 height=%2212.4348%22 viewBox=%220 0 12.8548 12.4348%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M10.839 12.4348H2.01986C0.200175 12.4348 -0.688055 10.2142 0.62965 8.95928L9.44879 0.560095C10.7322 -0.66217 12.8548 0.247528 12.8548 2.01981V10.419C12.8548 11.5323 11.9523 12.4348 10.839 12.4348Z%22 fill=%22%23969696%22/%3E%3C/svg%3E") center / contain no-repeat; }
.ap-textarea__grip::after { content: ""; position: absolute; inline-size: 17px; block-size: 4px; inset-inline-start: -4px; inset-block-start: 0; border-radius: 5px; background: var(--grip); transform: rotate(-45deg); }
.ap-field:has(.ap-field__msg:not([hidden])) .ap-textarea__grip { inset-block-start: 215px; }

/* B: label flutuante */
.ap-field--float label {
  position: absolute;
  inset-inline-start: var(--control-pad);
  inset-block-start: 22px;
  color: var(--ink-subtle);
  font-size: var(--fs-body);
  line-height: 20px;
  transform-origin: left top;
  transition: transform var(--dur-hover) var(--ease-out);
  pointer-events: none;
}
.ap-field--float .ap-input { padding-block-start: 18px; }
.ap-field--float .ap-textarea { padding-block-start: 36px; }
.ap-field--float .ap-input:focus + label,
.ap-field--float .ap-input:not(:placeholder-shown) + label,
.ap-field--float.is-focus label { transform: translateY(-12px) scale(0.6875); }

/* C: branco com anel */
.ap-form--c .ap-input { background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.ap-form--c .ap-input:focus { box-shadow: inset 0 0 0 2px var(--brand); }
.ap-form--c .ap-field.is-focus .ap-input { box-shadow: inset 0 0 0 2px var(--brand); }

/* Newsletter */
.ap-news { position: relative; display: flex; flex-wrap: wrap; inline-size: 409px; max-inline-size: 100%; }
.ap-news__in {
  flex: 1 1 0;
  min-inline-size: 0;
  block-size: var(--control-h);
  padding: 0 var(--sp-5);
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--bg);
  color: var(--ink);
  font-size: var(--fs-body);
  text-align: center;
  outline: none;
}
.ap-news__in::placeholder { color: var(--ink-subtle); opacity: 1; }
.ap-news__in:focus-visible, .ap-news__in.is-focus { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.ap-news__in[aria-invalid="true"] { box-shadow: inset 0 0 0 2px var(--ink); }
.ap-news__in:disabled, .ap-news__in.is-disabled { opacity: 0.5; }
.ap-news__btn {
  display: inline-grid;
  place-items: center;
  flex: none;
  inline-size: var(--icon-box-lg);
  block-size: var(--icon-box-lg);
  padding: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--brand-bright);
  color: var(--on-brand);
  box-shadow: var(--shadow-clean);
  transform: translateY(calc(var(--h) * var(--lift))) scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-news__btn .ap-icon { transition: transform var(--dur-hover) var(--ease-out); }
.ap-news__msg { flex-basis: 100%; margin-inline-start: var(--sp-5); }
.ap-news.is-sending .ap-news__btn .ap-icon { animation: ap-nudge 900ms var(--ease-inout) infinite; }
.ap-news--b .ap-news__in { text-align: start; padding-inline: var(--sp-6); background: var(--white); }
.ap-news--b { gap: var(--sp-2); }
.ap-news--b .ap-news__btn { box-shadow: var(--shadow-md); }
.ap-news--b .ap-news__btn .ap-icon { transform: rotate(calc(var(--h) * 45deg)); }
.ap-news--c { padding: 6px; border-radius: var(--radius-pill); background: var(--white); box-shadow: var(--shadow-sm); }
.ap-news--c .ap-news__in { block-size: 52px; background: transparent; text-align: start; padding-inline: var(--sp-5); }
.ap-news--c .ap-news__btn { inline-size: 52px; block-size: 52px; box-shadow: none; background: var(--brand); transform: scale(calc(1 + var(--h) * 0.06 - var(--p) * 0.04)); }
.ap-news--c:has(.ap-news__in:focus-visible) { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.ap-news--c .ap-news__in:focus-visible { outline: none; }

/* ==========================================================================
   09 Selo + voltar ao topo
   ========================================================================== */
.ap-seal {
  --k: 1;
  --seal-icon: 48px;
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: none;
  inline-size: calc(207px * var(--k));
  block-size: calc(207px * var(--k));
}
.ap-seal--md { --k: 0.769; }
.ap-seal--sm { --k: 0.5104; --seal-icon: 46px; }
.ap-seal > * { grid-area: 1 / 1; }
.ap-seal__star {
  inline-size: calc(168px * var(--k));
  block-size: calc(168px * var(--k));
  background: var(--brand-deep);
  -webkit-mask: url("data:image/svg+xml,%3Csvg width=%22163.859%22 height=%22163.859%22 viewBox=%220 0 163.859 163.859%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M71.0311 1.943C78.0657 -0.647666 85.7932 -0.647667 92.8278 1.943V1.943C95.9219 3.08246 99.1755 3.72965 102.47 3.86098V3.86098C109.961 4.15956 117.1 7.11673 122.608 12.2022V12.2022C125.03 14.439 127.788 16.282 130.782 17.6642V17.6642C137.588 20.8065 143.052 26.2707 146.195 33.0768V33.0768C147.577 36.0704 149.42 38.8287 151.657 41.2512V41.2512C156.742 46.7589 159.699 53.8982 159.998 61.3887V61.3887C160.129 64.6833 160.776 67.937 161.916 71.0311V71.0311C164.507 78.0657 164.507 85.7932 161.916 92.8278V92.8278C160.776 95.9219 160.129 99.1755 159.998 102.47V102.47C159.699 109.961 156.742 117.1 151.657 122.608V122.608C149.42 125.03 147.577 127.788 146.195 130.782V130.782C143.052 137.588 137.588 143.052 130.782 146.195V146.195C127.788 147.577 125.03 149.42 122.608 151.657V151.657C117.1 156.742 109.961 159.699 102.47 159.998V159.998C99.1755 160.129 95.9219 160.776 92.8278 161.916V161.916C85.7932 164.507 78.0657 164.507 71.0311 161.916V161.916C67.937 160.776 64.6833 160.129 61.3887 159.998V159.998C53.8982 159.699 46.7589 156.742 41.2512 151.657V151.657C38.8287 149.42 36.0704 147.577 33.0768 146.195V146.195C26.2707 143.052 20.8065 137.588 17.6642 130.782V130.782C16.282 127.788 14.439 125.03 12.2022 122.608V122.608C7.11673 117.1 4.15956 109.961 3.86098 102.47V102.47C3.72965 99.1755 3.08246 95.9219 1.943 92.8278V92.8278C-0.647666 85.7932 -0.647667 78.0657 1.943 71.0311V71.0311C3.08246 67.937 3.72965 64.6833 3.86098 61.3887V61.3887C4.15956 53.8982 7.11673 46.7589 12.2022 41.2512V41.2512C14.439 38.8287 16.282 36.0704 17.6642 33.0768V33.0768C20.8065 26.2707 26.2707 20.8065 33.0768 17.6642V17.6642C36.0704 16.282 38.8287 14.439 41.2512 12.2022V12.2022C46.7589 7.11673 53.8982 4.15956 61.3887 3.86098V3.86098C64.6833 3.72965 67.937 3.08246 71.0311 1.943V1.943Z%22 fill=%22%23094131%22/%3E%3C/svg%3E") center / 97.54% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width=%22163.859%22 height=%22163.859%22 viewBox=%220 0 163.859 163.859%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M71.0311 1.943C78.0657 -0.647666 85.7932 -0.647667 92.8278 1.943V1.943C95.9219 3.08246 99.1755 3.72965 102.47 3.86098V3.86098C109.961 4.15956 117.1 7.11673 122.608 12.2022V12.2022C125.03 14.439 127.788 16.282 130.782 17.6642V17.6642C137.588 20.8065 143.052 26.2707 146.195 33.0768V33.0768C147.577 36.0704 149.42 38.8287 151.657 41.2512V41.2512C156.742 46.7589 159.699 53.8982 159.998 61.3887V61.3887C160.129 64.6833 160.776 67.937 161.916 71.0311V71.0311C164.507 78.0657 164.507 85.7932 161.916 92.8278V92.8278C160.776 95.9219 160.129 99.1755 159.998 102.47V102.47C159.699 109.961 156.742 117.1 151.657 122.608V122.608C149.42 125.03 147.577 127.788 146.195 130.782V130.782C143.052 137.588 137.588 143.052 130.782 146.195V146.195C127.788 147.577 125.03 149.42 122.608 151.657V151.657C117.1 156.742 109.961 159.699 102.47 159.998V159.998C99.1755 160.129 95.9219 160.776 92.8278 161.916V161.916C85.7932 164.507 78.0657 164.507 71.0311 161.916V161.916C67.937 160.776 64.6833 160.129 61.3887 159.998V159.998C53.8982 159.699 46.7589 156.742 41.2512 151.657V151.657C38.8287 149.42 36.0704 147.577 33.0768 146.195V146.195C26.2707 143.052 20.8065 137.588 17.6642 130.782V130.782C16.282 127.788 14.439 125.03 12.2022 122.608V122.608C7.11673 117.1 4.15956 109.961 3.86098 102.47V102.47C3.72965 99.1755 3.08246 95.9219 1.943 92.8278V92.8278C-0.647666 85.7932 -0.647667 78.0657 1.943 71.0311V71.0311C3.08246 67.937 3.72965 64.6833 3.86098 61.3887V61.3887C4.15956 53.8982 7.11673 46.7589 12.2022 41.2512V41.2512C14.439 38.8287 16.282 36.0704 17.6642 33.0768V33.0768C20.8065 26.2707 26.2707 20.8065 33.0768 17.6642V17.6642C36.0704 16.282 38.8287 14.439 41.2512 12.2022V12.2022C46.7589 7.11673 53.8982 4.15956 61.3887 3.86098V3.86098C64.6833 3.72965 67.937 3.08246 71.0311 1.943V1.943Z%22 fill=%22%23094131%22/%3E%3C/svg%3E") center / 97.54% no-repeat;
  transform: rotate(15.59deg);
}
.ap-seal--sm .ap-seal__star { transform: rotate(15deg); }
.ap-seal__disk {
  position: relative;
  display: grid;
  place-items: center;
  inline-size: calc(141.33px * var(--k));
  block-size: calc(141.33px * var(--k));
  border: max(0.5px, calc(0.667px * var(--k))) solid var(--white);
  border-radius: 50%;
  background: var(--brand-deep);
}
.ap-seal__disk > * { grid-area: 1 / 1; }
.ap-seal__ring { inline-size: 100%; block-size: 100%; overflow: visible; }
.ap-seal__ring g { transform-origin: 50% 50%; transform-box: view-box; }
.ap-seal__ring text { fill: var(--white); font-family: var(--font); font-weight: var(--fw-medium); }
.ap-seal__core {
  display: grid;
  place-items: center;
  inline-size: calc(83.32px * var(--k));
  block-size: calc(83.32px * var(--k));
  border-radius: 50%;
  background: var(--brand);
  color: var(--white);
}
.ap-seal__core .ap-icon { inline-size: calc(var(--seal-icon) * var(--k)); block-size: calc(var(--seal-icon) * var(--k)); transform: rotate(27.16deg); }
.ap-seal--sm .ap-seal__core .ap-icon { transform: none; }
.ap-seal--spin .ap-seal__spin { animation: ap-spin var(--dur-spin) linear infinite; }
.ap-seal--spin:hover .ap-seal__spin, .ap-top:hover .ap-seal--spin .ap-seal__spin, .ap-seal--spin.is-hover .ap-seal__spin, .is-hover .ap-seal--spin .ap-seal__spin { animation-play-state: paused; }
.ap-seal--scroll .ap-seal__spin { transform: rotate(var(--scroll-rot, 0deg)); }
@keyframes ap-spin { to { transform: rotate(360deg); } }

.ap-top {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  color: var(--ink-soft);
  text-decoration: none;
  transform: translateY(calc(var(--h) * var(--lift))) scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  transition: transform var(--dur-hover) var(--ease-out);
}
.ap-top__t { display: grid; text-align: end; line-height: var(--lh-normal); }
.ap-top__l1 { font-size: var(--fs-label); color: var(--ink-soft); }
.ap-top__l2 { font-size: var(--fs-small); color: var(--ink-legal); }
.ap-top--b { transform: scale(calc(1 - var(--p) * (1 - var(--press-scale)))); gap: var(--sp-2); }
.ap-top--b .ap-seal__core .ap-icon { translate: 0 calc(var(--h) * -3px); transition: translate var(--dur-hover) var(--ease-out); }
.ap-top--c { inline-size: 64px; block-size: 64px; justify-content: center; }
.ap-top--c .ap-seal { --k: 0.3092; --seal-icon: 58px; }
.ap-top--c .ap-seal__ring { display: none; }
.ap-top--c .ap-seal__core .ap-icon { translate: 0 calc(var(--h) * -3px); transition: translate var(--dur-hover) var(--ease-out); }

/* ==========================================================================
   10 Barras e contador
   ========================================================================== */
.ap-bars { display: grid; gap: 36px; inline-size: 630px; max-inline-size: 100%; }
.ap-bar__l { display: flex; justify-content: space-between; gap: var(--sp-4); font-size: var(--fs-body); line-height: 20px; color: var(--ink); }
.ap-bar__l span:last-child { font-variant-numeric: tabular-nums; }
.ap-bar__track { position: relative; display: block; block-size: 12px; margin-block-start: var(--sp-2); border-radius: var(--radius-pill); background: var(--surface); overflow: hidden; }
.ap-bar__fill { display: block; inline-size: 100%; block-size: 100%; border-radius: var(--radius-pill); background: var(--brand); transform: translateX(calc((var(--v) - 1) * 100%)); }
.ap-bars--b .ap-bar__track { block-size: 8px; margin-block-start: var(--sp-3); }
.ap-bars--b { gap: 32px; }
.ap-bars--c { gap: 40px; }
.ap-bars--c .ap-bar { position: relative; container-type: inline-size; padding-block-start: 0; }
.ap-bars--c .ap-bar__track { block-size: 10px; margin-block-start: var(--sp-10); }
.ap-bar__bubble {
  position: absolute;
  inset-block-end: calc(10px + 8px);
  inset-inline-start: 0;
  padding: 2px var(--sp-2);
  border-radius: var(--radius-pill);
  background: var(--white);
  box-shadow: var(--shadow-sm);
  color: var(--brand);
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
  font-variant-numeric: tabular-nums;
  transform: translateX(calc(var(--v) * 100cqw - 50%));
}
[data-animate]:not(.is-in) .ap-bar__fill { transform: translateX(-100%); }
.ap-bars--c[data-animate]:not(.is-in) .ap-bar__bubble { transform: translateX(-50%); }
[data-animate] .ap-bar__fill, [data-animate] .ap-bar__bubble { transition: transform 1200ms var(--ease-out); }
[data-animate] .ap-bar:nth-child(2) .ap-bar__fill, [data-animate] .ap-bar:nth-child(2) .ap-bar__bubble { transition-delay: 120ms; }
[data-animate] .ap-bar:nth-child(3) .ap-bar__fill, [data-animate] .ap-bar:nth-child(3) .ap-bar__bubble { transition-delay: 240ms; }

.ap-counter { inline-size: 208px; color: var(--ink); }
.ap-counter__n { font-size: var(--fs-display-xl); font-weight: var(--fw-regular); line-height: var(--lh-normal); }
[data-count] { font-variant-numeric: tabular-nums; }
.ap-counter__l { margin-block-start: calc(-1 * var(--sp-2)); line-height: 1.2; font-size: var(--fs-h3); line-height: var(--lh-normal); }
.ap-counter__track { position: relative; display: block; block-size: 12px; margin-block-start: 68px; border-radius: var(--radius-pill); background: var(--white); overflow: hidden; }
.ap-counter--b .ap-counter__track { margin-block-start: var(--sp-8); block-size: 8px; }
.ap-counter--c { inline-size: auto; display: grid; grid-template-columns: auto 160px; align-items: end; column-gap: var(--sp-4); }
.ap-counter--c .ap-counter__l { margin: 0 0 12px; font-size: var(--fs-label); }
.ap-counter--c .ap-counter__track { grid-column: 1 / -1; margin-block-start: var(--sp-5); block-size: 8px; }

/* ==========================================================================
   Estáticos
   ========================================================================== */
/* Card do problema */
.ap-problem {
  display: flex;
  align-items: center;
  gap: 68px;
  inline-size: var(--container);
  max-inline-size: 100%;
  padding: var(--sp-20) 72px var(--sp-20) var(--sp-24);
  border-radius: var(--radius-lg);
  background: var(--ink);
  box-shadow: var(--shadow-clean);
}
.ap-problem__t { flex: 0 0 600px; font-size: var(--fs-h2); font-weight: var(--fw-semibold); line-height: var(--lh-normal); color: var(--surface); }
.ap-problem__d { flex: 0 1 442px; min-inline-size: 0; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--white); }
.ap-problem__d b { font-weight: var(--fw-semibold); }
.ap-problem--b { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); padding: var(--sp-20) var(--sp-20); }
.ap-problem--b .ap-problem__t { color: var(--white); }
.ap-problem--b .ap-problem__t em { font-style: normal; color: var(--brand-bright); }
.ap-problem--b .ap-problem__d { font-size: var(--fs-body-lg); line-height: 1.5; }

/* Card de avaliação */
.ap-rating {
  display: flex;
  flex-direction: column;
  justify-content: center;
  inline-size: 251px;
  block-size: 150px;
  padding: 0 var(--sp-6);
  border: 1px solid var(--glass-line);
  border-radius: var(--radius-xs);
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--blur-glass));
  backdrop-filter: blur(var(--blur-glass));
  color: var(--white);
}
.ap-rating__n { display: flex; align-items: flex-end; font-size: var(--fs-display-lg); font-weight: var(--fw-light); line-height: var(--lh-normal); }
.ap-rating__n .ap-icon { margin-block-end: 16px; color: var(--brand); }
.ap-rating__c { margin-block-start: calc(-1 * var(--sp-1)); font-size: var(--fs-micro); font-weight: var(--fw-light); line-height: var(--lh-normal); }
.ap-rating__av { display: flex; margin-block-start: var(--sp-2); }
.ap-rating__av img { inline-size: 16px; block-size: 16px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; }
.ap-rating__av img + img { margin-inline-start: -4px; }
.ap-rating--b { inline-size: 272px; block-size: auto; padding: var(--sp-5) var(--sp-6); }
.ap-rating--b .ap-rating__c { margin-block-start: 0; font-size: var(--fs-small); font-weight: var(--fw-regular); }
.ap-rating--b .ap-rating__av { margin-block-start: var(--sp-3); }
.ap-rating--b .ap-rating__av img { inline-size: 24px; block-size: 24px; box-shadow: 0 0 0 2px var(--white); }
.ap-rating--b .ap-rating__av img + img { margin-inline-start: -6px; }

.ap-gscore { display: grid; gap: var(--sp-2); inline-size: max-content; }
.ap-gscore__t { display: flex; align-items: center; gap: var(--sp-1); font-size: var(--fs-micro); font-weight: var(--fw-medium); line-height: var(--lh-normal); color: var(--ink); }
.ap-gscore__t > .ap-icon { color: var(--brand); }
.ap-gscore__stars { display: flex; gap: var(--sp-2); }
.ap-gscore--b .ap-gscore__stars { gap: var(--sp-1); color: var(--brand); }
.ap-gscore--b .ap-gscore__t { font-size: var(--fs-small); font-weight: var(--fw-regular); }

/* Garantia */
.ap-guar {
  display: grid;
  grid-template-columns: 392px minmax(0, 864px);
  gap: var(--sp-6);
  align-items: start;
  inline-size: 100%;
  min-block-size: 686px;
  padding: 200px max(var(--sp-5), calc((100% - var(--container)) / 2)) var(--sp-20);
  background: var(--brand);
  color: var(--white);
}
.ap-guar__l { padding-block-start: var(--sp-2); }
.ap-guar__t { margin-block-start: var(--sp-2); font-size: var(--fs-h2); font-weight: var(--fw-regular); line-height: var(--lh-normal); max-inline-size: 380px; }
.ap-guar__seal { display: flex; align-items: center; gap: var(--sp-5); margin-block-start: var(--sp-1); font-size: var(--fs-subtitle); line-height: var(--lh-normal); }
.ap-guar__seal span:last-child { max-inline-size: 282px; }
.ap-guar__seal .ap-icon { inline-size: 90px; block-size: 38px; color: var(--white); }
.ap-guar__r { display: grid; gap: 1lh; font-size: var(--fs-lead); line-height: var(--lh-normal); color: var(--on-brand-muted); }
.ap-guar__r b { font-weight: var(--fw-bold); }
.ap-guar__r strong { font-weight: var(--fw-bold); color: var(--white); }
.ap-guar--b { min-block-size: 0; padding-block: var(--sp-32); align-items: center; }
.ap-guar--b .ap-guar__r { color: var(--white); }
.ap-guar__badge { display: inline-grid; place-items: center; inline-size: 112px; block-size: 112px; flex: none; background: var(--brand-deep); -webkit-mask: url("data:image/svg+xml,%3Csvg width=%22163.859%22 height=%22163.859%22 viewBox=%220 0 163.859 163.859%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M71.0311 1.943C78.0657 -0.647666 85.7932 -0.647667 92.8278 1.943V1.943C95.9219 3.08246 99.1755 3.72965 102.47 3.86098V3.86098C109.961 4.15956 117.1 7.11673 122.608 12.2022V12.2022C125.03 14.439 127.788 16.282 130.782 17.6642V17.6642C137.588 20.8065 143.052 26.2707 146.195 33.0768V33.0768C147.577 36.0704 149.42 38.8287 151.657 41.2512V41.2512C156.742 46.7589 159.699 53.8982 159.998 61.3887V61.3887C160.129 64.6833 160.776 67.937 161.916 71.0311V71.0311C164.507 78.0657 164.507 85.7932 161.916 92.8278V92.8278C160.776 95.9219 160.129 99.1755 159.998 102.47V102.47C159.699 109.961 156.742 117.1 151.657 122.608V122.608C149.42 125.03 147.577 127.788 146.195 130.782V130.782C143.052 137.588 137.588 143.052 130.782 146.195V146.195C127.788 147.577 125.03 149.42 122.608 151.657V151.657C117.1 156.742 109.961 159.699 102.47 159.998V159.998C99.1755 160.129 95.9219 160.776 92.8278 161.916V161.916C85.7932 164.507 78.0657 164.507 71.0311 161.916V161.916C67.937 160.776 64.6833 160.129 61.3887 159.998V159.998C53.8982 159.699 46.7589 156.742 41.2512 151.657V151.657C38.8287 149.42 36.0704 147.577 33.0768 146.195V146.195C26.2707 143.052 20.8065 137.588 17.6642 130.782V130.782C16.282 127.788 14.439 125.03 12.2022 122.608V122.608C7.11673 117.1 4.15956 109.961 3.86098 102.47V102.47C3.72965 99.1755 3.08246 95.9219 1.943 92.8278V92.8278C-0.647666 85.7932 -0.647667 78.0657 1.943 71.0311V71.0311C3.08246 67.937 3.72965 64.6833 3.86098 61.3887V61.3887C4.15956 53.8982 7.11673 46.7589 12.2022 41.2512V41.2512C14.439 38.8287 16.282 36.0704 17.6642 33.0768V33.0768C20.8065 26.2707 26.2707 20.8065 33.0768 17.6642V17.6642C36.0704 16.282 38.8287 14.439 41.2512 12.2022V12.2022C46.7589 7.11673 53.8982 4.15956 61.3887 3.86098V3.86098C64.6833 3.72965 67.937 3.08246 71.0311 1.943V1.943Z%22 fill=%22%23094131%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg width=%22163.859%22 height=%22163.859%22 viewBox=%220 0 163.859 163.859%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M71.0311 1.943C78.0657 -0.647666 85.7932 -0.647667 92.8278 1.943V1.943C95.9219 3.08246 99.1755 3.72965 102.47 3.86098V3.86098C109.961 4.15956 117.1 7.11673 122.608 12.2022V12.2022C125.03 14.439 127.788 16.282 130.782 17.6642V17.6642C137.588 20.8065 143.052 26.2707 146.195 33.0768V33.0768C147.577 36.0704 149.42 38.8287 151.657 41.2512V41.2512C156.742 46.7589 159.699 53.8982 159.998 61.3887V61.3887C160.129 64.6833 160.776 67.937 161.916 71.0311V71.0311C164.507 78.0657 164.507 85.7932 161.916 92.8278V92.8278C160.776 95.9219 160.129 99.1755 159.998 102.47V102.47C159.699 109.961 156.742 117.1 151.657 122.608V122.608C149.42 125.03 147.577 127.788 146.195 130.782V130.782C143.052 137.588 137.588 143.052 130.782 146.195V146.195C127.788 147.577 125.03 149.42 122.608 151.657V151.657C117.1 156.742 109.961 159.699 102.47 159.998V159.998C99.1755 160.129 95.9219 160.776 92.8278 161.916V161.916C85.7932 164.507 78.0657 164.507 71.0311 161.916V161.916C67.937 160.776 64.6833 160.129 61.3887 159.998V159.998C53.8982 159.699 46.7589 156.742 41.2512 151.657V151.657C38.8287 149.42 36.0704 147.577 33.0768 146.195V146.195C26.2707 143.052 20.8065 137.588 17.6642 130.782V130.782C16.282 127.788 14.439 125.03 12.2022 122.608V122.608C7.11673 117.1 4.15956 109.961 3.86098 102.47V102.47C3.72965 99.1755 3.08246 95.9219 1.943 92.8278V92.8278C-0.647666 85.7932 -0.647667 78.0657 1.943 71.0311V71.0311C3.08246 67.937 3.72965 64.6833 3.86098 61.3887V61.3887C4.15956 53.8982 7.11673 46.7589 12.2022 41.2512V41.2512C14.439 38.8287 16.282 36.0704 17.6642 33.0768V33.0768C20.8065 26.2707 26.2707 20.8065 33.0768 17.6642V17.6642C36.0704 16.282 38.8287 14.439 41.2512 12.2022V12.2022C46.7589 7.11673 53.8982 4.15956 61.3887 3.86098V3.86098C64.6833 3.72965 67.937 3.08246 71.0311 1.943V1.943Z%22 fill=%22%23094131%22/%3E%3C/svg%3E") center / contain no-repeat; }
.ap-guar__badge .ap-icon { inline-size: 64px; block-size: 27px; }

/* Faixa de logos */
.ap-logos { display: grid; align-items: center; inline-size: 100%; block-size: 87px; background: var(--brand); overflow: hidden; }
.ap-logos__row { display: flex; justify-content: center; align-items: center; gap: 178px; }
.ap-logos--b .ap-logos__row { justify-content: flex-start; gap: var(--sp-32); inline-size: max-content; animation: ap-marquee 40s linear infinite; }
.ap-logos--b:hover .ap-logos__row { animation-play-state: paused; }
@keyframes ap-marquee { to { transform: translateX(-50%); } }

/* Footer */
.ap-foot { inline-size: 100%; background: var(--surface); }
.ap-foot__in {
  position: relative;
  display: grid;
  grid-template-columns: 224px 270px 184px 409px;
  column-gap: var(--sp-16);
  align-items: start;
  inline-size: 100%;
  max-inline-size: calc(var(--container) + 2 * var(--sp-5));
  min-block-size: 585px;
  margin-inline: auto;
  padding: 68px var(--sp-5) 0;
}
.ap-foot__col { display: grid; justify-items: start; gap: var(--sp-4); }
.ap-foot__col a { font-size: var(--fs-body); font-weight: var(--fw-light); line-height: 20px; color: var(--ink); text-decoration: none; border-radius: 4px; }
.ap-foot__col a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ap-foot__col a:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.ap-foot__h { font-size: var(--fs-label); font-weight: var(--fw-semibold); line-height: var(--lh-normal); }
.ap-foot__k { font-size: var(--fs-label); font-weight: var(--fw-light); line-height: var(--lh-normal); color: var(--brand); }
.ap-foot__news { display: grid; gap: var(--sp-3); }
.ap-foot__nt { max-inline-size: 372px; font-size: var(--fs-h2); line-height: var(--lh-normal); }
.ap-foot__nt b { font-weight: var(--fw-semibold); color: var(--brand); }
.ap-foot__ns { font-size: var(--fs-label); font-weight: var(--fw-semibold); line-height: var(--lh-normal); }
.ap-foot__top { grid-column: 1 / -1; justify-self: end; margin-block-start: 88px; margin-inline-end: -10px; }
.ap-legal { display: flex; align-items: center; justify-content: center; gap: 2px; block-size: 66px; border-block-start: 1px solid var(--line); background: var(--field); font-family: var(--font-legal); font-size: var(--fs-body-lg); color: var(--ink-legal); }
.ap-legal img { inline-size: 18px; block-size: 18px; }
.ap-foot--b .ap-foot__in { grid-template-columns: 224px repeat(3, minmax(0, 1fr)); row-gap: var(--sp-16); min-block-size: 0; padding-block: var(--sp-20); }
.ap-foot--b .ap-foot__news { grid-column: 1 / -1; grid-template-columns: 1fr minmax(0, 480px); align-items: center; padding-block-end: var(--sp-12); border-block-end: 1px solid var(--line); }
.ap-foot--b .ap-foot__nt { max-inline-size: none; }
.ap-foot--b .ap-news { inline-size: 100%; }
.ap-foot--b .ap-foot__top { grid-column: auto; margin: 0; position: absolute; inset-inline-end: var(--sp-5); inset-block-end: var(--sp-20); }
.ap-foot__pending { font-size: var(--fs-small); color: var(--ink-muted); }
.ap-foot--b .ap-legal { font-family: var(--font); font-size: var(--fs-small); }

/* Mídia com máscara */
.ap-heromask {
  position: relative;
  inline-size: 1974px;
  block-size: 1033px;
  background: var(--surface);
  -webkit-mask: url("data:image/svg+xml,%3Csvg preserveAspectRatio=%22none%22 width=%221974%22 height=%221033%22 viewBox=%220 0 1974 1033%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M1974 968C1974 1003.9 1944.9 1033 1909 1033H1175.88C1161.84 1033 1148.17 1028.45 1136.92 1020.03L965.919 891.971C954.675 883.551 941.005 879 926.957 879H65C29.1015 879 0 849.898 0 814V65C0 29.1015 29.1015 0 65 0H1909C1944.9 0 1974 29.1015 1974 65V968Z%22 fill=%22%23D9D9D9%22/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg preserveAspectRatio=%22none%22 width=%221974%22 height=%221033%22 viewBox=%220 0 1974 1033%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M1974 968C1974 1003.9 1944.9 1033 1909 1033H1175.88C1161.84 1033 1148.17 1028.45 1136.92 1020.03L965.919 891.971C954.675 883.551 941.005 879 926.957 879H65C29.1015 879 0 849.898 0 814V65C0 29.1015 29.1015 0 65 0H1909C1944.9 0 1974 29.1015 1974 65V968Z%22 fill=%22%23D9D9D9%22/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
  overflow: hidden;
}
.ap-heromask__fig {
  position: absolute;
  inset-inline-start: calc(715px - 0.2185 * 1149px);
  inset-block-start: 109px;
  inline-size: calc(1.4936 * 1149px);
  max-inline-size: none;
  block-size: 936px;
  object-fit: cover;
  transform: scaleX(-1);
  transform-origin: calc(0.2185 * 1149px + 574.5px) 50%;
}
.ap-heromask--b { inline-size: 100%; block-size: auto; aspect-ratio: 1974 / 1033; }
.ap-heromask--b .ap-heromask__fig { inset-inline-start: 36.2%; inset-block-start: 10.55%; inline-size: 58.2%; block-size: 90.6%; object-fit: cover; object-position: 70% 0; transform: scaleX(-1); transform-origin: 50% 50%; }

.ap-offer { position: relative; inline-size: 731px; block-size: 579px; }
.ap-offer > * { position: absolute; }
.ap-offer__card { inset-inline-start: 101px; inset-block-start: 33px; inline-size: 630px; block-size: 303px; border-radius: var(--radius-2xl); background: var(--surface); }
.ap-offer__clip { inset-inline-start: 101px; inset-block-start: 359px; inline-size: 630px; block-size: 220px; border-radius: var(--radius-2xl); overflow: hidden; }
.ap-offer__clip img { position: absolute; inset-inline-start: -336px; inset-block-start: -345px; inline-size: 979px; max-inline-size: none; block-size: 565px; object-fit: cover; }
.ap-offer__fig { inset-inline-start: 0; inset-block-start: 14px; inline-size: 563px; block-size: 565px; object-fit: fill; } /* asset vem esticado na horizontal; o Figma comprime para 563 x 565 */
.ap-offer__counter { inset-inline-start: 469px; inset-block-start: 68px; }
.ap-offer__seal { inset-inline-start: 64px; inset-block-start: -1px; }
.ap-offer--b { inline-size: 100%; block-size: auto; aspect-ratio: 731 / 565; }
.ap-offer--b .ap-offer__clip { inset: auto 0 0 13.8%; inline-size: auto; block-size: 39%; }
.ap-offer--b .ap-offer__clip img { inset: 0; inline-size: 100%; block-size: 100%; object-position: 85% 100%; }
.ap-offer--b .ap-offer__fig { inset: 2.4% auto 0 0; inline-size: 77%; block-size: 97.6%; object-fit: fill; }

.ap-photo { inline-size: auto; block-size: 274px; border-radius: var(--radius-2xl); object-fit: cover; background: var(--surface); }
.ap-photo[width="413"] { aspect-ratio: 413 / 274; }
.ap-photo[width="630"] { aspect-ratio: 630 / 274; }

/* ==========================================================================
   Reduced motion
   ========================================================================== */
html[data-motion="off"] *, html[data-motion="off"] *::before, html[data-motion="off"] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  transition-delay: 0ms !important;
}
html[data-motion="off"] .ap-chip--c, html[data-motion="off"] .ap-chip--float, html[data-motion="off"] .ap-logos--b .ap-logos__row, html[data-motion="off"] .ap-seal__spin { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* ==========================================================================
   Mobile 390 (PROPOSTA)
   ========================================================================== */
/* Nav com menu (celular e tablet até 960) */
@media (max-width: 960px) {
  .ap-nav { grid-template-columns: minmax(0, 1fr) auto; gap: var(--sp-2); }
  .ap-nav__logo { justify-items: start; padding-inline: var(--sp-5); }
  .ap-nav__bar { inline-size: 62px; }
  .ap-nav__list { display: none; }
  .ap-nav__burger {
    display: inline-grid;
    place-content: center;
    gap: 6px;
    inline-size: var(--hit-min);
    block-size: var(--hit-min);
    padding: 0;
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--bg);
    transform: scale(calc(1 - var(--p) * (1 - var(--press-scale))));
    transition: transform var(--dur-press) var(--ease-out);
  }
  .ap-nav__burger span { display: block; inline-size: 18px; block-size: 2px; border-radius: 2px; background: var(--ink); transition: transform var(--dur-hover) var(--ease-out); }
  .ap-nav.is-menu .ap-nav__burger span:first-child { transform: translateY(4px) rotate(45deg); }
  .ap-nav.is-menu .ap-nav__burger span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .ap-nav.is-menu .ap-nav__list {
    position: absolute;
    inset-inline: 0;
    inset-block-start: calc(100% + var(--sp-2));
    z-index: 30;
    display: grid;
    gap: 0;
    padding: var(--sp-2);
    border-radius: var(--radius-md);
    background: var(--white);
    box-shadow: var(--shadow-clean);
  }
  .ap-nav.is-menu .ap-nav__link { inline-size: 100%; min-block-size: var(--hit-min); padding: var(--sp-2) var(--sp-3); font-size: var(--fs-body); }
  .ap-nav.is-menu .ap-dd__panel { position: static; transform: none; box-shadow: none; padding: 0 0 0 var(--sp-3); min-inline-size: 0; }
  .ap-nav.is-menu .ap-dd:not(.is-open) .ap-dd__panel { display: none; }
  .ap-nav .ap-nav__bar { position: static; }
  .ap-nav.is-menu .ap-nav__link::after { inset-inline-start: auto; inset-inline-end: var(--sp-3); inset-block-end: calc(50% - 3px); margin: 0; }
}

@media (max-width: 640px) {
  .ap-cta { max-inline-size: 100%; }
  .ap-cta__pill { inline-size: auto; min-inline-size: 0; flex: 1 1 auto; padding: 0 var(--sp-6); }
  .ap-cta:not(.ap-cta--d) { inline-size: 100%; }
  .ap-cta--c, .ap-cta--d { inline-size: auto; }
  .ap-cta--d .ap-cta__pill { padding-inline-start: var(--sp-6); }
  .ap-cta--d .ap-cta__dot { inline-size: 44px; block-size: 44px; }


  .ap-pillar, .ap-diff { inline-size: 100%; min-block-size: 0; padding: var(--sp-8) var(--sp-6); }
  .ap-pillar__head, .ap-diff__head { align-items: flex-start; }
  .ap-quote { flex-basis: calc(100% - var(--sp-6)); min-block-size: 0; padding: var(--sp-10) var(--sp-6) var(--sp-6); }
  .ap-quote__mark { inset-inline-start: var(--sp-6); }
  .ap-quote__who { margin-inline-start: 0; }
  .ap-quote__av { inline-size: 48px; block-size: 48px; }
  .ap-arrow { inline-size: var(--hit-min); block-size: var(--hit-min); }

  .ap-chip { inline-size: auto; block-size: 40px; padding: 0 var(--sp-4); }
  .ap-chip--c { padding-inline-start: var(--sp-1); }

  .ap-form__row { grid-template-columns: 1fr; gap: var(--sp-4); }
  .ap-form > .ap-cta { justify-self: stretch; }
  .ap-textarea { block-size: 180px; }
  .ap-textarea__grip { inset-block-start: 144px; inset-inline-end: 24px; }
  .ap-field--float label { inset-block-start: 18px; }

  .ap-problem, .ap-problem--b { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); padding: var(--sp-8) var(--sp-6); }
  .ap-problem__t { color: var(--surface); }

  .ap-guar { grid-template-columns: 1fr; gap: var(--sp-8); min-block-size: 0; padding: var(--sp-16) var(--sp-5); }
  .ap-guar__r { gap: 0.75lh; }

  .ap-logos__row { justify-content: flex-start; gap: var(--sp-12); padding-inline: var(--sp-5); }
  .ap-logos:not(.ap-logos--b) .ap-logos__row { overflow-x: auto; scrollbar-width: none; }

  .ap-foot__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: var(--sp-10); min-block-size: 0; padding: var(--sp-12) var(--sp-5) var(--sp-10); }
  .ap-foot__in > .ap-logo, .ap-foot__news { grid-column: 1 / -1; }
  .ap-foot__top { margin: 0; justify-self: end; grid-column: 1 / -1; }
  .ap-foot--b .ap-foot__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ap-foot .ap-news { inline-size: 100%; }
  .ap-foot__col:has(a[href^="mailto"]) { grid-column: 1 / -1; }
  .ap-foot__col a { overflow-wrap: anywhere; }
  .ap-foot__nt { max-inline-size: none; }
  .ap-foot--b .ap-foot__news { grid-template-columns: 1fr; }
  .ap-foot--b .ap-foot__top { position: static; grid-column: 1 / -1; justify-self: end; }
  .ap-legal { block-size: auto; padding: var(--sp-5); font-size: var(--fs-small); text-align: center; }

  .ap-heromask--b { aspect-ratio: 4 / 5; -webkit-mask: none; mask: none; border-radius: var(--radius-hero); }
  .ap-heromask--b .ap-heromask__fig { inset: auto 0 0 0; inline-size: 100%; block-size: 88%; object-position: 70% 0; }
  .ap-photo { block-size: auto; inline-size: 100%; }

  .ap-counter--c { grid-template-columns: 1fr; }
}



/* ==========================================================================
   ORGANIC BUTTON · portado de cult-ui (registry/default/ui/organic-button.tsx)
   Mesmas peças SVG (tampa, parede descendente, parede ascendente, tampa).
   Cores Arata: rótulo em --brand, cápsula da seta em --brand-bright (o CTA do Figma).
   Hover: as duas metades se afastam e a seta gira 45° (só transform).
   ========================================================================== */
.ap-organic {
  --org-h: 56px;
  --org-fs: 18px;
  --org-surface: var(--brand);
  --org-end: var(--brand-bright);
  --org-fg: var(--on-brand);
  --org-end-fg: var(--on-brand);
  --org-dur: 400ms;
  --h: 0; --p: 0;
  position: relative;
  display: inline-flex;
  align-items: stretch;
  block-size: var(--org-h);
  min-inline-size: 12rem;
  max-inline-size: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: var(--org-fg);
  text-decoration: none;
  border-radius: calc(var(--org-h) * 0.18);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  filter: drop-shadow(0 2px 3px rgb(0 0 0 / 0.08)) drop-shadow(0 12px 22px rgb(0 0 0 / 0.12));
  transform: scale(calc(1 - var(--p) * (1 - var(--press-scale))));
  transition: transform var(--dur-press) var(--ease-out);
}
@media (hover: hover) { .ap-organic:hover { --h: 1; } }
.ap-organic.is-hover { --h: 1; }
.ap-organic:is(:active, .is-active) { --h: 1; --p: 1; }
.ap-organic:is(:focus-visible, .is-focus) { outline: 2px solid var(--focus-ring); outline-offset: 5px; }
.ap-organic:is(:disabled, [aria-disabled="true"], .is-disabled) { opacity: 0.45; pointer-events: none; }
.ap-organic svg { display: block; flex: none; block-size: 100%; inline-size: auto; }
.ap-organic__body, .ap-organic__end { display: flex; align-items: stretch; transition: transform var(--org-dur) var(--ease-out); }
.ap-organic__body { flex: 1 1 auto; min-inline-size: 0; fill: var(--org-surface); transform: translateX(calc(var(--h) * -3px)); }
.ap-organic__end { margin-inline-start: -1px; fill: var(--org-end); color: var(--org-end-fg); transform: translateX(calc(var(--h) * 3px)); }
.ap-organic__cap--l { margin-inline-end: -1px; }
.ap-organic__cap--r { margin-inline-start: -1px; }
.ap-organic__wall--d { margin-inline-start: -1px; }
.ap-organic__wall--a { margin-inline-end: -1px; }
.ap-organic__label {
  position: relative;
  display: grid;
  align-items: center;
  flex: 1 1 auto;
  min-inline-size: 0;
  padding-inline: calc(var(--org-h) * 0.14) calc(var(--org-h) * 0.04);
  background: var(--org-surface);
  font-size: var(--org-fs);
  font-weight: var(--fw-semibold);
  line-height: 1;
  white-space: nowrap;
}
.ap-organic__label > * { grid-area: 1 / 1; transition: opacity var(--dur-exit) var(--ease-out), transform var(--dur-exit) var(--ease-out); }
.ap-organic__sending { display: inline-flex; align-items: baseline; gap: 2px; opacity: 0; transform: translateY(8px); }
.ap-organic__icon { display: grid; place-items: center; padding-inline: calc(var(--org-h) * 0.04); background: var(--org-end); }
.ap-organic__icon .ap-icon { inline-size: calc(var(--org-h) * 0.38); block-size: calc(var(--org-h) * 0.38); transform: rotate(calc(var(--h) * 45deg)) scale(calc(1 + var(--h) * 0.1)); transition: transform var(--org-dur) var(--ease-out); }
.ap-organic--md { --org-h: 44px; --org-fs: 16px; min-inline-size: 10.5rem; }
.ap-organic--sm { --org-h: 36px; --org-fs: 14px; min-inline-size: 9rem; }
.ap-organic--block { display: flex; inline-size: 100%; }
.ap-organic.is-sending { pointer-events: none; }
.ap-organic.is-sending .ap-organic__text { opacity: 0; transform: translateY(-8px); }
.ap-organic.is-sending .ap-organic__sending { opacity: 1; transform: none; }
.ap-organic.is-sending .ap-organic__icon .ap-icon { animation: ap-nudge 900ms var(--ease-inout) infinite; }
/* sobre verde: rótulo branco com texto --brand, cápsula --brand-deep */
.on-brand .ap-organic, .ap-guar .ap-organic { --org-surface: var(--white); --org-fg: var(--brand); --org-end: var(--brand-deep); }

/* ==========================================================================
   CUTOUT CARD · portado de cult-ui (registry/default/ui/cutout-card.tsx)
   Rótulo e pino recortados na mídia com cantos côncavos (mesmo path do original).
   ========================================================================== */
.ap-cutout {
  --cut-bg: var(--white);
  --cut-r: var(--radius-xl);
  --h: 0;
  position: relative;
  overflow: hidden;
  border-radius: var(--cut-r);
  background: var(--cut-bg);
  box-shadow: 0 0 0 1px rgb(41 45 50 / 0.06), 0 1px 2px -1px rgb(41 45 50 / 0.08), 0 4px 8px -2px rgb(41 45 50 / 0.06), 0 8px 16px -4px rgb(41 45 50 / 0.05);
}
@media (hover: hover) { .ap-cutout:hover { --h: 1; } }
.ap-cutout.is-hover { --h: 1; }
.ap-cutout::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 2px 4px -1px rgb(41 45 50 / 0.10), 0 8px 16px -4px rgb(41 45 50 / 0.08), 0 16px 32px -8px rgb(41 45 50 / 0.06);
  opacity: var(--h);
  transition: opacity 500ms cubic-bezier(0.23, 1, 0.32, 1);
  pointer-events: none;
}
.ap-cutout__media { position: relative; overflow: hidden; }
.ap-cutout__img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; transform: scale(calc(1 + var(--h) * 0.05)); transition: transform 700ms cubic-bezier(0.23, 1, 0.32, 1); }
.ap-cutout__label, .ap-cutout__pin { position: absolute; z-index: 2; }
.ap-cutout__label {
  inset-inline-start: 0;
  inset-block-end: 0;
  padding: var(--sp-3) var(--sp-5);
  border-start-end-radius: var(--cut-lr, 20px);
  background: var(--cut-bg);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--ink-muted);
}
.ap-cutout__label::before, .ap-cutout__label::after, .ap-cutout__pin::before, .ap-cutout__pin::after {
  content: "";
  position: absolute;
  background: var(--cut-fill, var(--cut-bg));
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 200%22%3E%3Cpath d=%22M0 200C155.996 199.961 200.029 156.308 200 0V200H0Z%22/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 200%22%3E%3Cpath d=%22M0 200C155.996 199.961 200.029 156.308 200 0V200H0Z%22/%3E%3C/svg%3E") center / contain no-repeat;
}
.ap-cutout__label::after { inline-size: var(--cut-c, 32px); block-size: var(--cut-c, 32px); inset-inline-end: calc(1px - var(--cut-c, 32px)); inset-block-end: 0; transform: rotate(90deg); }
.ap-cutout__label::before { inline-size: var(--cut-c, 32px); block-size: var(--cut-c, 32px); inset-block-start: calc(1px - var(--cut-c, 32px)); inset-inline-start: 0; transform: rotate(90deg); }
.ap-cutout__pin {
  --cut-fill: var(--brand);
  inset-block-start: 0;
  inset-inline-end: 0;
  display: grid;
  place-items: center;
  min-inline-size: 56px;
  min-block-size: 44px;
  padding: var(--sp-2) var(--sp-4);
  border-end-start-radius: 16px;
  background: var(--brand);
  color: var(--on-brand);
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
  font-variant-numeric: tabular-nums;
}
.ap-cutout__pin::before { inline-size: 24px; block-size: 24px; inset-block-start: 0; inset-inline-start: -23px; transform: rotate(-90deg); }
.ap-cutout__pin::after { inline-size: 24px; block-size: 24px; inset-inline-end: 0; inset-block-end: -23px; transform: rotate(-90deg); }
.ap-cutout__body { position: relative; padding: var(--sp-8); }

/* ==========================================================================
   TEXTO EM MOVIMENTO · adaptado de Spell UI
   slide-up-text (palavra sobe da máscara), blur-reveal (palavra sai do blur),
   highlighted-text (marca --brand-bright cresce atrás da palavra)
   ========================================================================== */
.ap-w { display: inline-block; overflow: clip; overflow-clip-margin: 0.12em; vertical-align: top; padding-block: 0.04em 0.14em; margin-block: -0.04em -0.14em; }
.ap-w__i { display: inline-block; }
html.js:not([data-motion="off"]) [data-split="up"]:not(.is-in) .ap-w__i { transform: translateY(115%); }
html.js [data-split="up"] .ap-w__i { transition: transform 1000ms cubic-bezier(0.625, 0.05, 0, 1); transition-delay: calc(var(--d, 0ms) + var(--wi, 0) * 42ms); }
.ap-bw { display: inline-block; }
html.js:not([data-motion="off"]) [data-split="blur"]:not(.is-in) .ap-bw { opacity: 0; filter: blur(10px); transform: translateY(10px); }
html.js [data-split="blur"] .ap-bw { transition: opacity 800ms var(--ease-out), filter 800ms var(--ease-out), transform 800ms var(--ease-out); transition-delay: calc(var(--d, 0ms) + var(--wi, 0) * 16ms); }
mark.ap-hl { position: relative; z-index: 0; background: none; color: inherit; white-space: nowrap; }
mark.ap-hl::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -0.06em 0.1em;
  block-size: 0.3em;
  border-radius: 0.06em;
  background: var(--brand-bright);
  opacity: 0.5;
  transform-origin: left center;
  transition: transform 1100ms cubic-bezier(0.34, 1.25, 0.64, 1) var(--hl-d, 650ms);
}
html.js:not([data-motion="off"]) [data-split]:not(.is-in) mark.ap-hl::before { transform: scaleX(0); }
.ap-problem mark.ap-hl::before, .ap-guar mark.ap-hl::before { opacity: 0.7; }
