{"id":628,"date":"2026-08-07T22:49:14","date_gmt":"2026-08-07T22:49:14","guid":{"rendered":"https:\/\/bonsastudio.com\/?page_id=628"},"modified":"2026-09-06T17:39:30","modified_gmt":"2026-09-06T17:39:30","slug":"servicos-3","status":"publish","type":"page","link":"https:\/\/bonsastudio.com\/?page_id=628","title":{"rendered":"PROJETOS"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"628\" class=\"elementor elementor-628\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e5894b7 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"e5894b7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1292248 elementor-widget elementor-widget-html\" data-id=\"1292248\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  :root {\r\n    --bonsa-bg: #dddad0;\r\n    --bonsa-bg-rgb: 221, 218, 208;\r\n    --bonsa-stroke: #d8d6d2;\r\n    --bonsa-text: #141d1f;\r\n    --bonsa-gold: #9f8368;\r\n    --bonsa-toggle-bg: #eeece8;\r\n    --bonsa-panel-bg: #dddad0;\r\n    --bonsa-line: rgba(20,29,31,.15);\r\n    --bonsa-svg-icon: #777;\r\n    --bonsa-page-bg: #edece8;\r\n  }\r\n  html.bonsa-dark,\r\n  body.bonsa-dark {\r\n    --bonsa-bg: #1c2526;\r\n    --bonsa-bg-rgb: 28, 37, 38;\r\n    --bonsa-stroke: #252c2d;\r\n    --bonsa-text: #eeece8;\r\n    --bonsa-gold: #9f8368;\r\n    --bonsa-toggle-bg: #141d1f;\r\n    --bonsa-panel-bg: #1c2526;\r\n    --bonsa-line: rgba(238,236,232,.15);\r\n    --bonsa-svg-icon: #939393;\r\n    --bonsa-page-bg: #141d1f;\r\n  }\r\n\r\n  \/* ===== FUNDO DA P\u00c1GINA ===== *\/\r\n  html, body { transition: background-color .9s ease; }\r\n  html.bonsa-dark,\r\n  html.bonsa-dark body,\r\n  body.bonsa-dark { background-color: #141d1f !important; }\r\n\r\n  \/* ===== TRADU\u00c7\u00c3O POR SE\u00c7\u00c3O (com fade in\/out) ===== *\/\r\n  [data-lang-pt], [data-lang-en] { transition: opacity .35s ease; }\r\n  html[data-lang=\"pt\"] [data-lang-en],\r\n  html[data-lang=\"en\"] [data-lang-pt] {\r\n    opacity: 0; position: absolute; pointer-events: none;\r\n    width: 0; height: 0; overflow: hidden;\r\n  }\r\n  html[data-lang=\"pt\"] [data-lang-pt],\r\n  html[data-lang=\"en\"] [data-lang-en] { opacity: 1; }\r\n  html.bonsa-lang-switching [data-lang-pt],\r\n  html.bonsa-lang-switching [data-lang-en] { opacity: 0; }\r\n\r\n  .bonsa-header a, .bonsa-header button,\r\n  .bonsa-mobile-panel a, .bonsa-mobile-panel button,\r\n  .bonsa-theme-toggle, .bonsa-theme-toggle span, .bonsa-lang button,\r\n  [data-bonsa-logo], [data-bonsa-burger] {\r\n    -webkit-tap-highlight-color: transparent;\r\n    tap-highlight-color: transparent;\r\n  }\r\n\r\n  .bonsa-header {\r\n    display: grid;\r\n    grid-template-columns: 1fr auto 1fr;\r\n    align-items: center;\r\n    background: rgba(var(--bonsa-bg-rgb), .70);\r\n    -webkit-backdrop-filter: blur(14px) saturate(140%);\r\n    backdrop-filter: blur(15px) saturate(140%);\r\n    border: 1px solid var(--bonsa-stroke);\r\n    border-radius: 50px;\r\n    padding: 8px 8px;\r\n    font-family: 'Poppins', Arial, sans-serif;\r\n    transition: background .4s ease, border-color .4s ease;\r\n    position: fixed;\r\n    top: 40px; left: 0; right: 0;\r\n    margin: 0 auto;\r\n    z-index: 9999;\r\n    width: calc(100% - 48px);\r\n    max-width: 1140px;\r\n    box-sizing: border-box;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .bonsa-header::before {\r\n    content: \"\";\r\n    position: absolute; inset: 0; z-index: 0;\r\n    pointer-events: none; border-radius: inherit;\r\n    background:\r\n      radial-gradient(120px 120px at 15% 120%, var(--bonsa-gold) 0%, transparent 90%),\r\n      radial-gradient(160px 160px at 85% -30%, var(--bonsa-gold) 0%, transparent 90%),\r\n      radial-gradient(140px 140px at 55% 130%, var(--bonsa-gold) 0%, transparent 90%);\r\n    opacity: .10; filter: blur(24px);\r\n  }\r\n\r\n  .bonsa-left, .bonsa-right, .bonsa-logo, .bonsa-burger { position: relative; z-index: 1; }\r\n\r\n  .bonsa-left  { display: flex; align-items: center; justify-self: stretch; }\r\n  .bonsa-right { display: flex; align-items: center; justify-self: stretch; flex-direction: row-reverse; }\r\n\r\n  .bonsa-left .bonsa-menu,\r\n  .bonsa-right .bonsa-menu { flex: 1; display: flex; justify-content: center; gap: 46px; }\r\n\r\n  .bonsa-logo { justify-self: center; display: flex; align-items: center; }\r\n  .bonsa-logo a {\r\n    display: flex; align-items: center; text-decoration: none;\r\n    transition: transform .35s cubic-bezier(.34,1.56,.64,1);\r\n    transform-origin: center;\r\n  }\r\n  .bonsa-logo a:hover { transform: scale(1.06); }\r\n  .bonsa-logo a.is-clicked { transform: scale(.93); }\r\n  .bonsa-logo svg { height: 26px; width: auto; display: block; }\r\n\r\n  .bonsa-menu { list-style: none; margin: 0; padding: 0; align-items: center; }\r\n  .bonsa-menu a {\r\n    text-decoration: none; color: var(--bonsa-text);\r\n    font-size: 12px; letter-spacing: 1px; text-transform: uppercase;\r\n    font-weight: 500; transition: color .2s, opacity .2s, transform .25s ease;\r\n    position: relative; white-space: nowrap; display: inline-block;\r\n  }\r\n  .bonsa-menu a.active { color: var(--bonsa-gold); font-weight: 600; }\r\n  .bonsa-menu a.active::after {\r\n    content: \"\"; position: absolute; left: 0; right: 0; bottom: -5px;\r\n    height: 1.5px; background: var(--bonsa-gold);\r\n  }\r\n  .bonsa-menu a:hover { opacity: .6; }\r\n  .bonsa-menu a.is-clicked { transform: scale(.9); opacity: .5; }\r\n\r\n  .bonsa-theme-toggle {\r\n    display: flex; gap: 2px; cursor: pointer;\r\n    background: var(--bonsa-toggle-bg); border-radius: 50px; padding: 3px;\r\n    transition: background .4s ease; flex-shrink: 0;\r\n    position: relative; z-index: 1;\r\n  }\r\n  .bonsa-theme-toggle .bonsa-toggle-thumb {\r\n    position: absolute; top: 3px; left: 3px;\r\n    width: 32px; height: 32px; border-radius: 50%;\r\n    background: var(--bonsa-gold);\r\n    transition: transform .55s cubic-bezier(.34,1.56,.64,1);\r\n    z-index: 0; pointer-events: none; will-change: transform;\r\n  }\r\n  .bonsa-theme-toggle[data-active=\"dark\"] .bonsa-toggle-thumb { transform: translateX(34px); }\r\n  .bonsa-theme-toggle span {\r\n    width: 32px; height: 32px;\r\n    display: flex; align-items: center; justify-content: center;\r\n    border-radius: 50%; overflow: hidden; position: relative; z-index: 1;\r\n  }\r\n  .bonsa-theme-toggle span svg { width: 100%; height: 100%; display: block; }\r\n  .bonsa-theme-toggle span svg path { transition: fill .4s ease; }\r\n  .bonsa-theme-toggle span:not(.active) svg path { fill: var(--bonsa-svg-icon); }\r\n  .bonsa-theme-toggle span.active svg path { fill: #eeece8; }\r\n\r\n  .bonsa-lang {\r\n    display: flex; align-items: center; gap: 2px;\r\n    background: var(--bonsa-toggle-bg); border-radius: 50px; padding: 3px;\r\n    transition: background .4s ease; flex-shrink: 0;\r\n    position: relative; z-index: 1;\r\n  }\r\n  .bonsa-lang button {\r\n    border: none; background: transparent; color: var(--bonsa-text);\r\n    font-family: 'Poppins', Arial, sans-serif;\r\n    width: 38px; height: 32px; border-radius: 50px; font-size: 12px; font-weight: 700;\r\n    cursor: pointer; transition: background .3s, color .3s, transform .2s ease;\r\n    letter-spacing: .5px; display: flex; align-items: center; justify-content: center;\r\n  }\r\n  .bonsa-lang button.active { background: var(--bonsa-gold); color: #eeece8; }\r\n  .bonsa-lang button.is-clicked { transform: scale(.88); }\r\n\r\n  .bonsa-burger {\r\n    display: none; border: none; background: transparent;\r\n    width: 40px; height: 40px; cursor: pointer; justify-self: end;\r\n    padding: 0; position: relative;\r\n  }\r\n  .bonsa-burger:focus,\r\n  .bonsa-burger:active,\r\n  .bonsa-burger:hover { outline: none; background: transparent; }\r\n  .bonsa-burger span {\r\n    position: absolute; left: 50%; top: 50%;\r\n    width: 24px; height: 2.5px; background: var(--bonsa-text);\r\n    border-radius: 3px; transform: translate(-50%, -50%);\r\n    transition: transform .4s cubic-bezier(.7,0,.2,1), opacity .3s ease, background .3s ease;\r\n  }\r\n  .bonsa-burger span:nth-child(1) { transform: translate(-50%, calc(-50% - 7px)); }\r\n  .bonsa-burger span:nth-child(2) { transform: translate(-50%, -50%); }\r\n  .bonsa-burger span:nth-child(3) { transform: translate(-50%, calc(-50% + 7px)); }\r\n  .bonsa-burger.is-open span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }\r\n  .bonsa-burger.is-open span:nth-child(2) { opacity: 0; }\r\n  .bonsa-burger.is-open span:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }\r\n\r\n  .bonsa-mobile-panel {\r\n    display: none; flex-direction: column;\r\n    background: rgba(var(--bonsa-bg-rgb), .75);\r\n    -webkit-backdrop-filter: blur(14px) saturate(140%);\r\n    backdrop-filter: blur(14px) saturate(140%);\r\n    border: 1px solid var(--bonsa-stroke);\r\n    border-radius: 30px; padding: 26px 24px;\r\n    font-family: 'Poppins', Arial, sans-serif;\r\n    position: fixed; top: 108px; left: 24px; right: 24px; z-index: 9998;\r\n    box-sizing: border-box;\r\n    transition: background .4s ease, border-color .4s ease;\r\n    overflow: hidden; transform-origin: top center;\r\n  }\r\n  .bonsa-mobile-panel::before {\r\n    content: \"\"; position: absolute; inset: 0; z-index: 0; pointer-events: none;\r\n    border-radius: inherit;\r\n    background:\r\n      radial-gradient(160px 160px at 10% 110%, var(--bonsa-gold) 0%, transparent 70%),\r\n      radial-gradient(180px 180px at 90% -10%, var(--bonsa-gold) 0%, transparent 70%);\r\n    opacity: .08; filter: blur(28px);\r\n  }\r\n  .bonsa-mobile-panel > * { position: relative; z-index: 1; }\r\n\r\n  .bonsa-mobile-panel.open {\r\n    display: flex; animation: bonsa-panel-open .5s cubic-bezier(.4,0,.2,1) forwards;\r\n  }\r\n  .bonsa-mobile-panel.closing {\r\n    display: flex; animation: bonsa-panel-close .4s cubic-bezier(.7,0,.2,1) forwards;\r\n  }\r\n\r\n  .bonsa-mobile-panel a {\r\n    text-decoration: none; color: var(--bonsa-text);\r\n    font-size: 16px; font-weight: 600; letter-spacing: 1px;\r\n    padding: 18px 0; text-transform: uppercase;\r\n    border-bottom: 1px solid var(--bonsa-line);\r\n    position: relative;\r\n    transition: transform .25s ease, opacity .2s ease, color .3s ease;\r\n  }\r\n  .bonsa-mobile-panel a:last-of-type { border-bottom: none; }\r\n  .bonsa-mobile-panel a.active {\r\n    color: var(--bonsa-gold); font-weight: 700; padding-left: 20px;\r\n    border-left: 3px solid var(--bonsa-gold);\r\n    background: linear-gradient(90deg, rgba(159,131,104,.12), transparent);\r\n  }\r\n  .bonsa-mobile-panel a.is-clicked { transform: scale(.94); opacity: .5; }\r\n  .bonsa-mobile-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; }\r\n\r\n  .bonsa-mobile-panel.open a,\r\n  .bonsa-mobile-panel.open .bonsa-mobile-footer {\r\n    opacity: 0; animation: bonsa-item-in .5s cubic-bezier(.4,0,.2,1) forwards;\r\n  }\r\n  .bonsa-mobile-panel.open a:nth-of-type(1)      { animation-delay: .18s; }\r\n  .bonsa-mobile-panel.open a:nth-of-type(2)      { animation-delay: .26s; }\r\n  .bonsa-mobile-panel.open a:nth-of-type(3)      { animation-delay: .34s; }\r\n  .bonsa-mobile-panel.open a:nth-of-type(4)      { animation-delay: .42s; }\r\n  .bonsa-mobile-panel.open a:nth-of-type(5)      { animation-delay: .50s; }\r\n  .bonsa-mobile-panel.open .bonsa-mobile-footer  { animation-delay: .58s; }\r\n\r\n  .bonsa-mobile-panel.closing a,\r\n  .bonsa-mobile-panel.closing .bonsa-mobile-footer { animation: bonsa-item-out .25s ease forwards; }\r\n\r\n  @keyframes bonsa-panel-open {\r\n    0%   { opacity: 0; transform: translateY(-14px); clip-path: inset(0 0 100% 0 round 30px); }\r\n    100% { opacity: 1; transform: translateY(0);     clip-path: inset(0 0 0 0 round 30px); }\r\n  }\r\n  @keyframes bonsa-panel-close {\r\n    0%   { opacity: 1; transform: translateY(0);     clip-path: inset(0 0 0 0 round 30px); }\r\n    100% { opacity: 0; transform: translateY(-14px); clip-path: inset(0 0 100% 0 round 30px); }\r\n  }\r\n  @keyframes bonsa-item-in {\r\n    0%   { opacity: 0; transform: translateY(14px); filter: blur(6px); }\r\n    100% { opacity: 1; transform: translateY(0);    filter: blur(0); }\r\n  }\r\n  @keyframes bonsa-item-out {\r\n    0%   { opacity: 1; transform: translateY(0);    filter: blur(0); }\r\n    100% { opacity: 0; transform: translateY(-8px); filter: blur(4px); }\r\n  }\r\n\r\n  .bonsa-mobile-footer .bonsa-theme-toggle { padding: 4px; gap: 4px; }\r\n  .bonsa-mobile-footer .bonsa-theme-toggle .bonsa-toggle-thumb { top: 4px; left: 4px; width: 42px; height: 42px; }\r\n  .bonsa-mobile-footer .bonsa-theme-toggle[data-active=\"dark\"] .bonsa-toggle-thumb { transform: translateX(46px); }\r\n  .bonsa-mobile-footer .bonsa-theme-toggle span { width: 42px; height: 42px; }\r\n  .bonsa-mobile-footer .bonsa-lang { padding: 4px; gap: 4px; }\r\n  .bonsa-mobile-footer .bonsa-lang button { width: 50px; height: 42px; font-size: 14px; }\r\n\r\n  @media (max-width: 1000px) {\r\n    .bonsa-header { grid-template-columns: auto 1fr auto; padding: 10px 20px; }\r\n    .bonsa-left .bonsa-menu,\r\n    .bonsa-right .bonsa-menu,\r\n    .bonsa-left .bonsa-theme-toggle,\r\n    .bonsa-right .bonsa-lang { display: none; }\r\n    .bonsa-logo { justify-self: start; grid-column: 1; }\r\n    .bonsa-logo svg { height: 22px; }\r\n    .bonsa-logo a { filter: none !important; }\r\n    .bonsa-logo a:hover { transform: none; }\r\n    .bonsa-logo a.is-clicked { transform: scale(.93); }\r\n    .bonsa-burger { display: block; grid-column: 3; }\r\n  }\r\n\r\n  .elementor-widget-html,\r\n  .elementor-widget-html .elementor-widget-container {\r\n    background: transparent !important; padding: 0 !important; margin: 0 !important;\r\n  }\r\n\r\n  body { padding-top: 0 !important; }\r\n\r\n  .bonsa-header-host,\r\n  .bonsa-header-host > .e-con-inner,\r\n  .bonsa-header-host > .elementor-container {\r\n    min-height: 0 !important; height: 0 !important;\r\n    padding: 0 !important; margin: 0 !important; overflow: visible !important;\r\n  }\r\n\r\n  @keyframes bonsa-expand {\r\n    0%   { clip-path: inset(0 50% 0 50% round 50px); opacity: 0; }\r\n    15%  { opacity: 1; }\r\n    100% { clip-path: inset(0 0 0 0 round 50px); opacity: 1; }\r\n  }\r\n  @keyframes bonsa-rise {\r\n    0%   { opacity: 0; transform: translateY(12px); filter: blur(6px); }\r\n    100% { opacity: 1; transform: translateY(0);    filter: blur(0); }\r\n  }\r\n\r\n  .bonsa-header.bonsa-anim { animation: bonsa-expand 1s cubic-bezier(.7,0,.2,1) forwards; }\r\n\r\n  .bonsa-header.bonsa-anim .bonsa-logo,\r\n  .bonsa-header.bonsa-anim .bonsa-menu,\r\n  .bonsa-header.bonsa-anim .bonsa-theme-toggle,\r\n  .bonsa-header.bonsa-anim .bonsa-lang,\r\n  .bonsa-header.bonsa-anim .bonsa-burger {\r\n    opacity: 0; animation: bonsa-rise .6s cubic-bezier(.4,0,.2,1) forwards;\r\n  }\r\n  .bonsa-header.bonsa-anim .bonsa-logo                { animation-delay: .70s; }\r\n  .bonsa-header.bonsa-anim .bonsa-left  .bonsa-menu   { animation-delay: .95s; }\r\n  .bonsa-header.bonsa-anim .bonsa-right .bonsa-menu   { animation-delay: 1.05s; }\r\n  .bonsa-header.bonsa-anim .bonsa-theme-toggle        { animation-delay: 1.30s; }\r\n  .bonsa-header.bonsa-anim .bonsa-lang                { animation-delay: 1.40s; }\r\n  .bonsa-header.bonsa-anim .bonsa-burger              { animation-delay: 1.10s; }\r\n\r\n  @media (max-width: 1000px) {\r\n    @keyframes bonsa-rise-mobile {\r\n      0%   { opacity: 0; transform: translateY(12px); }\r\n      100% { opacity: 1; transform: translateY(0); }\r\n    }\r\n    .bonsa-header.bonsa-anim .bonsa-logo { animation-name: bonsa-rise-mobile; }\r\n  }\r\n\r\n  @keyframes bonsa-collapse {\r\n    0%   { clip-path: inset(0 0 0 0 round 50px);     opacity: 1; }\r\n    85%  { opacity: 1; }\r\n    100% { clip-path: inset(0 50% 0 50% round 50px); opacity: 0; }\r\n  }\r\n  @keyframes bonsa-fall {\r\n    0%   { opacity: 1; transform: translateY(0);    filter: blur(0); }\r\n    100% { opacity: 0; transform: translateY(12px); filter: blur(6px); }\r\n  }\r\n\r\n  .bonsa-header.bonsa-leave {\r\n    animation: bonsa-collapse .8s cubic-bezier(.7,0,.2,1) forwards;\r\n    animation-delay: .35s; pointer-events: none;\r\n  }\r\n  .bonsa-header.bonsa-leave .bonsa-logo,\r\n  .bonsa-header.bonsa-leave .bonsa-menu,\r\n  .bonsa-header.bonsa-leave .bonsa-theme-toggle,\r\n  .bonsa-header.bonsa-leave .bonsa-lang,\r\n  .bonsa-header.bonsa-leave .bonsa-burger {\r\n    animation: bonsa-fall .4s cubic-bezier(.4,0,.2,1) forwards;\r\n  }\r\n  .bonsa-header.bonsa-leave .bonsa-lang               { animation-delay: 0s; }\r\n  .bonsa-header.bonsa-leave .bonsa-theme-toggle       { animation-delay: .05s; }\r\n  .bonsa-header.bonsa-leave .bonsa-right .bonsa-menu  { animation-delay: .10s; }\r\n  .bonsa-header.bonsa-leave .bonsa-left  .bonsa-menu  { animation-delay: .15s; }\r\n  .bonsa-header.bonsa-leave .bonsa-burger             { animation-delay: .10s; }\r\n  .bonsa-header.bonsa-leave .bonsa-logo               { animation-delay: .20s; }\r\n\r\n  \/* ===== SWAP: FECHA E REABRE NA MESMA P\u00c1GINA (tema \/ idioma) ===== *\/\r\n  .bonsa-header.bonsa-swap-out {\r\n    animation: bonsa-collapse .5s cubic-bezier(.7,0,.2,1) forwards;\r\n    animation-delay: .12s;\r\n    pointer-events: none;\r\n  }\r\n  .bonsa-header.bonsa-swap-out .bonsa-logo,\r\n  .bonsa-header.bonsa-swap-out .bonsa-menu,\r\n  .bonsa-header.bonsa-swap-out .bonsa-theme-toggle,\r\n  .bonsa-header.bonsa-swap-out .bonsa-lang,\r\n  .bonsa-header.bonsa-swap-out .bonsa-burger {\r\n    animation: bonsa-fall .28s cubic-bezier(.4,0,.2,1) forwards;\r\n  }\r\n  .bonsa-header.bonsa-swap-out .bonsa-lang              { animation-delay: 0s; }\r\n  .bonsa-header.bonsa-swap-out .bonsa-theme-toggle      { animation-delay: .03s; }\r\n  .bonsa-header.bonsa-swap-out .bonsa-right .bonsa-menu { animation-delay: .06s; }\r\n  .bonsa-header.bonsa-swap-out .bonsa-left  .bonsa-menu { animation-delay: .09s; }\r\n  .bonsa-header.bonsa-swap-out .bonsa-burger            { animation-delay: .06s; }\r\n  .bonsa-header.bonsa-swap-out .bonsa-logo              { animation-delay: .12s; }\r\n\r\n  .bonsa-header.bonsa-swap-in {\r\n    animation: bonsa-expand .6s cubic-bezier(.7,0,.2,1) forwards;\r\n    pointer-events: none;\r\n  }\r\n  .bonsa-header.bonsa-swap-in .bonsa-logo,\r\n  .bonsa-header.bonsa-swap-in .bonsa-menu,\r\n  .bonsa-header.bonsa-swap-in .bonsa-theme-toggle,\r\n  .bonsa-header.bonsa-swap-in .bonsa-lang,\r\n  .bonsa-header.bonsa-swap-in .bonsa-burger {\r\n    opacity: 0; animation: bonsa-rise .42s cubic-bezier(.4,0,.2,1) forwards;\r\n  }\r\n  .bonsa-header.bonsa-swap-in .bonsa-logo               { animation-delay: .30s; }\r\n  .bonsa-header.bonsa-swap-in .bonsa-left  .bonsa-menu  { animation-delay: .40s; }\r\n  .bonsa-header.bonsa-swap-in .bonsa-right .bonsa-menu  { animation-delay: .45s; }\r\n  .bonsa-header.bonsa-swap-in .bonsa-theme-toggle       { animation-delay: .52s; }\r\n  .bonsa-header.bonsa-swap-in .bonsa-lang               { animation-delay: .56s; }\r\n  .bonsa-header.bonsa-swap-in .bonsa-burger             { animation-delay: .45s; }\r\n\r\n  \/* ===== FALLBACK ANTI-DESAPARECIMENTO (bfcache \/ voltar) ===== *\/\r\n  .bonsa-header.bonsa-restore {\r\n    animation: none !important;\r\n    opacity: 1 !important;\r\n    clip-path: none !important;\r\n    pointer-events: auto !important;\r\n  }\r\n  .bonsa-header.bonsa-restore .bonsa-logo,\r\n  .bonsa-header.bonsa-restore .bonsa-menu,\r\n  .bonsa-header.bonsa-restore .bonsa-theme-toggle,\r\n  .bonsa-header.bonsa-restore .bonsa-lang,\r\n  .bonsa-header.bonsa-restore .bonsa-burger {\r\n    animation: none !important;\r\n    opacity: 1 !important;\r\n    transform: none !important;\r\n    filter: none !important;\r\n  }\r\n\r\n  @media (max-width: 1000px) {\r\n    @keyframes bonsa-fall-mobile {\r\n      0%   { opacity: 1; transform: translateY(0); }\r\n      100% { opacity: 0; transform: translateY(12px); }\r\n    }\r\n    .bonsa-header.bonsa-leave .bonsa-logo,\r\n    .bonsa-header.bonsa-swap-out .bonsa-logo { animation-name: bonsa-fall-mobile; }\r\n    .bonsa-header.bonsa-swap-in .bonsa-logo  { animation-name: bonsa-rise-mobile; }\r\n  }\r\n\r\n  @media (prefers-reduced-motion: reduce) {\r\n    .bonsa-header.bonsa-anim, .bonsa-header.bonsa-anim *,\r\n    .bonsa-header.bonsa-leave, .bonsa-header.bonsa-leave *,\r\n    .bonsa-header.bonsa-swap-out, .bonsa-header.bonsa-swap-out *,\r\n    .bonsa-header.bonsa-swap-in, .bonsa-header.bonsa-swap-in *,\r\n    .bonsa-mobile-panel.open, .bonsa-mobile-panel.open *,\r\n    .bonsa-mobile-panel.closing, .bonsa-mobile-panel.closing * { animation: none !important; opacity: 1 !important; }\r\n    .bonsa-theme-toggle .bonsa-toggle-thumb { transition: none !important; }\r\n    .bonsa-logo a { transition: none !important; }\r\n    html.bonsa-lang-switching [data-lang-pt],\r\n    html.bonsa-lang-switching [data-lang-en] { opacity: 1 !important; }\r\n  }\r\n\r\n  @media (hover: hover) and (pointer: fine) {\r\n    html.bonsa-cursor-on, html.bonsa-cursor-on * { cursor: none !important; }\r\n  }\r\n  .bonsa-cursor-dot {\r\n    position: fixed; top: 0; left: 0; width: 8px; height: 8px;\r\n    background: var(--bonsa-gold); border-radius: 50%;\r\n    pointer-events: none; z-index: 2147483647;\r\n    transform: translate(-50%, -50%);\r\n    transition: width .2s ease, height .2s ease, background .2s ease, opacity .2s ease;\r\n    opacity: 0;\r\n  }\r\n  .bonsa-cursor-ring {\r\n    position: fixed; top: 0; left: 0; width: 36px; height: 36px;\r\n    border: 1.5px solid var(--bonsa-gold); border-radius: 50%;\r\n    pointer-events: none; z-index: 2147483646;\r\n    transform: translate(-50%, -50%);\r\n    transition: width .25s ease, height .25s ease, border-color .25s ease, background .25s ease, opacity .2s ease;\r\n    opacity: 0;\r\n  }\r\n  .bonsa-cursor-ring.is-hover { width: 56px; height: 56px; background: rgba(159,131,104,.12); border-color: var(--bonsa-gold); }\r\n  .bonsa-cursor-dot.is-hover { opacity: 0; }\r\n  .bonsa-cursor-ring.is-click { width: 26px; height: 26px; }\r\n<\/style>\r\n\r\n<div class=\"bonsa-cursor-ring\" data-bonsa-ring><\/div>\r\n<div class=\"bonsa-cursor-dot\" data-bonsa-dot><\/div>\r\n\r\n<nav class=\"bonsa-header bonsa-anim\">\r\n  <div class=\"bonsa-left\">\r\n    <div class=\"bonsa-theme-toggle\" data-bonsa-theme data-active=\"light\">\r\n      <span class=\"bonsa-toggle-thumb\" aria-hidden=\"true\"><\/span>\r\n      <span class=\"active\" data-theme=\"light\">\r\n       <svg viewBox=\"887 470 34 34\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n  <path d=\"M904.3,491.8c-2.8,0-5-2.3-5-5s2.3-5,5-5,5,2.3,5,5-2.3,5-5,5ZM904.3,482.8c-2.2,0-4,1.8-4,4s1.8,4,4,4,4-1.8,4-4-1.8-4-4-4Z\"\/>\r\n  <path d=\"M904.3,481c-.3,0-.5-.2-.5-.5v-2.6c0-.3.2-.5.5-.5s.5.2.5.5v2.6c0,.3-.2.5-.5.5Z\"\/>\r\n  <path d=\"M898,487.3h-2.6c-.3,0-.5-.2-.5-.5s.2-.5.5-.5h2.6c.3,0,.5.2.5.5s-.2.5-.5.5Z\"\/>\r\n  <path d=\"M904.3,496.2c-.3,0-.5-.2-.5-.5v-2.6c0-.3.2-.5.5-.5s.5.2.5.5v2.6c0,.3-.2.5-.5.5Z\"\/>\r\n  <path d=\"M913.2,487.3h-2.6c-.3,0-.5-.2-.5-.5s.2-.5.5-.5h2.6c.3,0,.5.2.5.5s-.2.5-.5.5Z\"\/>\r\n  <path d=\"M899.9,482.8c-.1,0-.3,0-.4-.1l-1.8-1.8c-.2-.2-.2-.5,0-.7s.5-.2.7,0l1.8,1.8c.2.2.2.5,0,.7s-.2.1-.4.1Z\"\/>\r\n  <path d=\"M898,493.6c-.1,0-.3,0-.4-.1-.2-.2-.2-.5,0-.7l1.8-1.9c.2-.2.5-.2.7,0s.2.5,0,.7l-1.8,1.9c0,0-.2.1-.4.1Z\"\/>\r\n  <path d=\"M910.6,493.6c-.1,0-.3,0-.4-.1l-1.8-1.9c-.2-.2-.2-.5,0-.7s.5-.2.7,0l1.8,1.9c.2.2.2.5,0,.7s-.2.1-.4.1Z\"\/>\r\n  <path d=\"M908.8,482.8c-.1,0-.3,0-.4-.1-.2-.2-.2-.5,0-.7l1.8-1.8c.2-.2.5-.2.7,0s.2.5,0,.7l-1.8,1.8c0,0-.2.1-.4.1Z\"\/>\r\n<\/svg>\r\n      <\/span>\r\n      <span data-theme=\"dark\">\r\n        <svg viewBox=\"926 470 34 34\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n  <path d=\"M943.2,494c-3.9,0-7.1-3.2-7.1-7.1s2-5.8,4.9-6.8c.2,0,.4,0,.5.1.1.1.2.3.1.5-.2.5-.2,1.1-.2,1.7,0,3.4,2.7,6.1,6.1,6.1s1.3-.1,1.9-.3c.2,0,.4,0,.5.1s.2.3.1.5c-.9,3.1-3.7,5.2-6.9,5.2ZM940.4,481.4c-2,1-3.3,3.1-3.3,5.5,0,3.4,2.7,6.1,6.1,6.1s4.6-1.4,5.6-3.6c-.4,0-.9.1-1.3.1-3.9,0-7.1-3.2-7.1-7.1s0-.7,0-1Z\"\/>\r\n<\/svg>\r\n      <\/span>\r\n    <\/div>\r\n    <ul class=\"bonsa-menu\">\r\n      <li><a href=\"\/?page_id=628\" data-bonsa-nav data-route=\"projetos\"><span data-lang-pt>Projetos<\/span><span data-lang-en>Projects<\/span><\/a><\/li>\r\n      <li><a href=\"\/?page_id=608\" data-bonsa-nav data-route=\"servicos\"><span data-lang-pt>Servi\u00e7os<\/span><span data-lang-en>Services<\/span><\/a><\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <div class=\"bonsa-logo\">\r\n    <a href=\"\/?page_id=28\" data-bonsa-logo data-route=\"home\"><\/a>\r\n  <\/div>\r\n\r\n  <div class=\"bonsa-right\">\r\n    <div class=\"bonsa-lang\" data-bonsa-lang>\r\n      <button class=\"active\" data-lang=\"pt\">PT<\/button>\r\n      <button data-lang=\"en\">EN<\/button>\r\n    <\/div>\r\n    <ul class=\"bonsa-menu\">\r\n      <li><a href=\"\/?page_id=626\" data-bonsa-nav data-route=\"metodologia\"><span data-lang-pt>Metodologia<\/span><span data-lang-en>Methodology<\/span><\/a><\/li>\r\n      <li><a href=\"\/?page_id=627\" data-bonsa-nav data-route=\"sobre\"><span data-lang-pt>Sobre n\u00f3s<\/span><span data-lang-en>About us<\/span><\/a><\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <button class=\"bonsa-burger\" data-bonsa-burger aria-label=\"Menu\">\r\n    <span><\/span><span><\/span><span><\/span>\r\n  <\/button>\r\n<\/nav>\r\n\r\n<div class=\"bonsa-mobile-panel\" data-bonsa-panel role=\"dialog\" aria-modal=\"true\" aria-label=\"Menu\">\r\n  <a href=\"\/?page_id=628\" data-bonsa-nav data-route=\"projetos\"><span data-lang-pt>Projetos<\/span><span data-lang-en>Projects<\/span><\/a>\r\n  <a href=\"\/?page_id=608\" data-bonsa-nav data-route=\"servicos\"><span data-lang-pt>Servi\u00e7os<\/span><span data-lang-en>Services<\/span><\/a>\r\n  <a href=\"\/?page_id=626\" data-bonsa-nav data-route=\"metodologia\"><span data-lang-pt>Metodologia<\/span><span data-lang-en>Methodology<\/span><\/a>\r\n  <a href=\"\/?page_id=627\" data-bonsa-nav data-route=\"sobre\"><span data-lang-pt>Sobre n\u00f3s<\/span><span data-lang-en>About us<\/span><\/a>\r\n  <div class=\"bonsa-mobile-footer\">\r\n    <div class=\"bonsa-theme-toggle\" data-bonsa-theme data-active=\"light\">\r\n      <span class=\"bonsa-toggle-thumb\" aria-hidden=\"true\"><\/span>\r\n      <span class=\"active\" data-theme=\"light\">\r\n        <svg viewBox=\"887 470 34 34\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n  <path d=\"M904.3,491.8c-2.8,0-5-2.3-5-5s2.3-5,5-5,5,2.3,5,5-2.3,5-5,5ZM904.3,482.8c-2.2,0-4,1.8-4,4s1.8,4,4,4,4-1.8,4-4-1.8-4-4-4Z\"\/>\r\n  <path d=\"M904.3,481c-.3,0-.5-.2-.5-.5v-2.6c0-.3.2-.5.5-.5s.5.2.5.5v2.6c0,.3-.2.5-.5.5Z\"\/>\r\n  <path d=\"M898,487.3h-2.6c-.3,0-.5-.2-.5-.5s.2-.5.5-.5h2.6c.3,0,.5.2.5.5s-.2.5-.5.5Z\"\/>\r\n  <path d=\"M904.3,496.2c-.3,0-.5-.2-.5-.5v-2.6c0-.3.2-.5.5-.5s.5.2.5.5v2.6c0,.3-.2.5-.5.5Z\"\/>\r\n  <path d=\"M913.2,487.3h-2.6c-.3,0-.5-.2-.5-.5s.2-.5.5-.5h2.6c.3,0,.5.2.5.5s-.2.5-.5.5Z\"\/>\r\n  <path d=\"M899.9,482.8c-.1,0-.3,0-.4-.1l-1.8-1.8c-.2-.2-.2-.5,0-.7s.5-.2.7,0l1.8,1.8c.2.2.2.5,0,.7s-.2.1-.4.1Z\"\/>\r\n  <path d=\"M898,493.6c-.1,0-.3,0-.4-.1-.2-.2-.2-.5,0-.7l1.8-1.9c.2-.2.5-.2.7,0s.2.5,0,.7l-1.8,1.9c0,0-.2.1-.4.1Z\"\/>\r\n  <path d=\"M910.6,493.6c-.1,0-.3,0-.4-.1l-1.8-1.9c-.2-.2-.2-.5,0-.7s.5-.2.7,0l1.8,1.9c.2.2.2.5,0,.7s-.2.1-.4.1Z\"\/>\r\n  <path d=\"M908.8,482.8c-.1,0-.3,0-.4-.1-.2-.2-.2-.5,0-.7l1.8-1.8c.2-.2.5-.2.7,0s.2.5,0,.7l-1.8,1.8c0,0-.2.1-.4.1Z\"\/>\r\n<\/svg>\r\n      <\/span>\r\n      <span data-theme=\"dark\">\r\n        <svg viewBox=\"926 470 34 34\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n  <path d=\"M943.2,494c-3.9,0-7.1-3.2-7.1-7.1s2-5.8,4.9-6.8c.2,0,.4,0,.5.1.1.1.2.3.1.5-.2.5-.2,1.1-.2,1.7,0,3.4,2.7,6.1,6.1,6.1s1.3-.1,1.9-.3c.2,0,.4,0,.5.1s.2.3.1.5c-.9,3.1-3.7,5.2-6.9,5.2ZM940.4,481.4c-2,1-3.3,3.1-3.3,5.5,0,3.4,2.7,6.1,6.1,6.1s4.6-1.4,5.6-3.6c-.4,0-.9.1-1.3.1-3.9,0-7.1-3.2-7.1-7.1s0-.7,0-1Z\"\/>\r\n<\/svg>\r\n      <\/span>\r\n    <\/div>\r\n    <div class=\"bonsa-lang\" data-bonsa-lang>\r\n      <button class=\"active\" data-lang=\"pt\">PT<\/button>\r\n      <button data-lang=\"en\">EN<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  function neutralizeHost() {\r\n    var header = document.querySelector('.bonsa-header');\r\n    if (!header) return;\r\n    var node = header.parentElement, host = null;\r\n    while (node && node !== document.body) {\r\n      if (node.classList &&\r\n         (node.classList.contains('e-con') ||\r\n          node.classList.contains('elementor-section') ||\r\n          node.classList.contains('elementor-top-section'))) {\r\n        host = node;\r\n      }\r\n      node = node.parentElement;\r\n    }\r\n    if (host) host.classList.add('bonsa-header-host');\r\n  }\r\n  neutralizeHost();\r\n\r\n  var LOGO_DARK = '<svg viewBox=\"595 368 180 32\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><g><path fill=\"#9f8368\" d=\"M625.9,396.2h-5.4c-2,0-3.7-1.6-3.7-3.7h0s5.4,0,5.4,0v-17.6h-5.4c0-2,1.6-3.7,3.7-3.7h5.4v24.9Z\"\/><path fill=\"#9f8368\" d=\"M606.5,396.2h-5.4v-24.9h5.4c2,0,3.7,1.6,3.7,3.7h0s-5.4,0-5.4,0v17.6h5.4c0,2-1.6,3.7-3.7,3.7Z\"\/><rect fill=\"#9f8368\" x=\"609.6\" y=\"379.8\" width=\"7.8\" height=\"7.8\"\/><\/g><g><path fill=\"#eeece8\" d=\"M721.1,389.8l3.1-.9c.6,2.6,2.8,4.2,6,4.2s5.7-1.9,5.7-4-2-3.4-4.2-4l-3.6-.8c-3-.7-6-2.3-6-6.4s3.1-6.6,8.1-6.6,7.5,2.2,8.3,5.8l-3.1.9c-.5-2-2.5-3.6-5.2-3.6s-4.9,1.8-4.9,3.5,1.9,3,3.7,3.4l3.6.8c3.7.9,6.4,3.1,6.4,7s-3.2,7.1-8.8,7.1-8.1-2.3-9.1-6.4Z\"\/><path fill=\"#eeece8\" d=\"M682.7,371.6c-1.2-.2-2.4-.3-3.7-.3-2.7,0-5.3.6-7.3,1.8-3.1,1.8-5.1,5.2-5.1,10.4,0,0,0,.2,0,.3h0c0,.1,0,.2,0,.2,0,5.3,1.9,8.5,4.8,10.4,0,0,0,0,0,0,2.1,1.3,4.8,1.9,7.7,1.9s4.3-.3,6.1-1.1c3.8-1.6,6.3-5.1,6.3-11.3s-3.7-11.1-8.8-12.1ZM684.4,391.8c-1.5.8-3.4,1.2-5.4,1.2s-5.3-.7-7-2.4c-1.4-1.5-2.3-3.7-2.3-6.9s1.1-5.8,2.9-7.3c1.7-1.4,3.9-2,6.4-2s2.9.2,4.1.6c3.1,1.1,5.2,3.7,5.2,8.7s-1.6,6.8-3.9,8.1Z\"\/><path fill=\"#eeece8\" d=\"M717.2,371.3v24.9h-3.1l-2.4-3.1-.7-.9-1.8-2.2-1.4-1.7-1.1-1.4-1.2-1.6-.8-1-.4-.5-1.2-1.5-1.2-1.6-.3-.3-2.2-2.8-.9-1.2v19.9h-3.1v-21.8l-2.4-.9c-.4-.2-.7-.6-.7-1.1v-1.1h6.2l2.4,3.1.7.8,1.8,2.3,1.3,1.7,1.1,1.4,1.2,1.6.8,1,.5.6,1.2,1.6,1.2,1.6.2.2,2.3,2.9.9,1.1v-19.8h3.1Z\"\/><path fill=\"#eeece8\" d=\"M662.4,386.8c-.2-.6-.5-1.1-.8-1.6-.1-.2-.2-.3-.4-.5-.3-.4-.7-.7-1-1-.3-.2-.6-.4-.9-.6.3-.3.5-.6.8-.9.3-.5.6-1,.8-1.6.3-.7.4-1.5.4-2.3s0-.5,0-.8c-.1-1.1-.5-2.2-1.1-3.1-.5-.8-1.2-1.4-1.9-1.9-.9-.6-2-1-3.1-1.1-.3,0-.5,0-.8,0h-11.7v1.2c0,.5.3.9.7,1l2.4.9v21.8h10.1c.8,0,1.6-.1,2.3-.4,1.2-.4,2.3-1.2,3.1-2.2.1-.2.3-.3.4-.5.6-.9,1-2,1.1-3.1,0-.3,0-.5,0-.8,0-.8-.1-1.6-.4-2.3ZM648.8,374.4h5.4c.3,0,.5,0,.8,0,1.5.3,2.7,1.5,3,3,0,.3,0,.5,0,.8,0,.9-.3,1.7-.8,2.3-.6.8-1.4,1.3-2.3,1.5-.3,0-.5,0-.8,0h-5.4v-7.8ZM659.6,389.9c-.2,1-.7,1.8-1.5,2.3-.6.4-1.3.7-2.1.8,0,0-.2,0-.3,0s-.2,0-.2,0h-6.8v-7.8h7c.9,0,1.7.3,2.3.8.3.2.6.5.8.8.5.7.8,1.5.8,2.3s0,.5,0,.8Z\"\/><path fill=\"#eeece8\" d=\"M765,395c0-.5-.3-.9-.7-1.1h0s-.4-.1-.4-.1l-1-.4h0s-.1-.4-.1-.4l-1.1-3.1-.8-2.3-.3-.8-.6-1.6-.6-1.6-.6-1.5-.6-1.6-.5-1.4-.6-1.7-1.1-3.1-1.1-3.1h-5.6v1.2c0,.5.3.9.7,1l.4.2-.3.8-.9,2.5-.2.7-.6,1.7-.5,1.4-.6,1.6-.6,1.5-.6,1.6-.6,1.6-.3.8-.8,2.3-1.1,3.1-1.1,3.1h3.3l1.1-3.1,1.1-3.1h10.7l1.1,3.1,1.1,3.1h4.4v-1.1h0ZM748.8,386.8l.4-1.1.2-.5.6-1.6.6-1.5.6-1.6.4-1,.8-2.1.8-2.2.8,2.2.8,2.1.4,1,.6,1.6.6,1.5.6,1.6.6,1.6h-8.4Z\"\/><\/g><\/svg>';\r\n\r\n  var LOGO_LIGHT = LOGO_DARK.replace(\/#eeece8\/g, '#141d1f');\r\n\r\n  function applyLogo() {\r\n    var dark = document.documentElement.classList.contains('bonsa-dark');\r\n    var el = document.querySelector('[data-bonsa-logo]');\r\n    if (el) el.innerHTML = dark ? LOGO_DARK : LOGO_LIGHT;\r\n  }\r\n\r\n  var THEME_KEY = 'bonsa-theme';\r\n  var LANG_KEY  = 'bonsa-lang';\r\n\r\n  var PAGE_BG_LIGHT = '#edece8';\r\n  var PAGE_BG_DARK  = '#141d1f';\r\n\r\n  function applyPageBg() {\r\n    var dark = document.documentElement.classList.contains('bonsa-dark');\r\n    var c = dark ? PAGE_BG_DARK : PAGE_BG_LIGHT;\r\n    document.documentElement.style.setProperty('background-color', c, 'important');\r\n    document.body.style.setProperty('background-color', c, 'important');\r\n    var meta = document.querySelector('meta[name=\"theme-color\"]');\r\n    if (!meta) {\r\n      meta = document.createElement('meta');\r\n      meta.setAttribute('name', 'theme-color');\r\n      document.head.appendChild(meta);\r\n    }\r\n    meta.setAttribute('content', c);\r\n  }\r\n\r\n  \/* ===================== ROTAS \/ PAGE IDS ===================== *\/\r\n  var BONSA_PAGES = {\r\n    home:        28,\r\n    metodologia: 626,\r\n    projetos:    628,\r\n    servicos:    608,\r\n    sobre:       627\r\n  };\r\n\r\n  function bonsaCurrentLang() {\r\n    var u;\r\n    try { u = new URL(window.location.href).searchParams.get('lang'); } catch (e) {}\r\n    var s;\r\n    try { s = localStorage.getItem(LANG_KEY); } catch (e) {}\r\n    return u || s || 'pt';\r\n  }\r\n\r\n  function bonsaUrl(route) {\r\n    var id = BONSA_PAGES[route];\r\n    if (!id) return '\/';\r\n    return window.location.origin + '\/?page_id=' + id + '&lang=' + bonsaCurrentLang();\r\n  }\r\n\r\n  function bonsaSyncLinks() {\r\n    document.querySelectorAll('[data-route]').forEach(function (a) {\r\n      a.setAttribute('href', bonsaUrl(a.getAttribute('data-route')));\r\n    });\r\n  }\r\n  bonsaSyncLinks();\r\n  window.addEventListener('bonsa:lang', bonsaSyncLinks);\r\n\r\n  var burger = document.querySelector('[data-bonsa-burger]');\r\n  var panel  = document.querySelector('[data-bonsa-panel]');\r\n  var header = document.querySelector('.bonsa-header');\r\n\r\n  (function applySavedTheme() {\r\n    var isDark = document.documentElement.classList.contains('bonsa-dark');\r\n    document.body.classList.toggle('bonsa-dark', isDark);\r\n  })();\r\n\r\n  applyLogo();\r\n  applyPageBg();\r\n\r\n  function syncToggles() {\r\n    var isDark = document.documentElement.classList.contains('bonsa-dark');\r\n    document.querySelectorAll('[data-bonsa-theme]').forEach(function (tg) {\r\n      tg.setAttribute('data-active', isDark ? 'dark' : 'light');\r\n      tg.querySelectorAll('span[data-theme]').forEach(function (s) {\r\n        s.classList.toggle('active',\r\n          (isDark && s.dataset.theme === 'dark') ||\r\n          (!isDark && s.dataset.theme === 'light'));\r\n      });\r\n    });\r\n  }\r\n  syncToggles();\r\n\r\n  function positionPanel() {\r\n    if (!panel || !header) return;\r\n    var rect = header.getBoundingClientRect();\r\n    panel.style.top = (rect.bottom + 10) + 'px';\r\n  }\r\n  positionPanel();\r\n  window.addEventListener('resize', positionPanel);\r\n  window.addEventListener('scroll', positionPanel);\r\n\r\n  function openPanel() {\r\n    positionPanel();\r\n    panel.classList.remove('closing');\r\n    panel.classList.add('open');\r\n    if (burger) burger.classList.add('is-open');\r\n    document.body.style.overflow = 'hidden';\r\n  }\r\n\r\n  function closePanelAnimated() {\r\n    if (!panel || !panel.classList.contains('open')) return 0;\r\n    panel.classList.remove('open');\r\n    panel.classList.add('closing');\r\n    if (burger) burger.classList.remove('is-open');\r\n    document.body.style.overflow = '';\r\n    var CLOSE_MS = 400;\r\n    setTimeout(function () { panel.classList.remove('closing'); }, CLOSE_MS);\r\n    return CLOSE_MS;\r\n  }\r\n\r\n  \/* ======================================================\r\n     SWAP DO CABE\u00c7ALHO: fecha -> aplica mudan\u00e7a -> reabre\r\n     ====================================================== *\/\r\n  var SWAP_OUT_MS = 700;\r\n  var SWAP_IN_MS  = 1050;\r\n  var isSwapping  = false;\r\n  var isNavigating = false;\r\n\r\n  function headerSwap(apply) {\r\n    if (!header) { apply(); return; }\r\n    if (isSwapping) return;\r\n    isSwapping = true;\r\n\r\n    var panelWait = closePanelAnimated();\r\n\r\n    setTimeout(function () {\r\n      header.classList.remove('bonsa-anim', 'bonsa-swap-in', 'bonsa-restore');\r\n      void header.offsetWidth;\r\n      header.classList.add('bonsa-swap-out');\r\n      window.dispatchEvent(new CustomEvent('bonsa:swap-out'));\r\n\r\n      setTimeout(function () {\r\n        try { apply(); } catch (e) {}\r\n\r\n        header.classList.remove('bonsa-swap-out');\r\n        void header.offsetWidth;\r\n        header.classList.add('bonsa-swap-in');\r\n        window.dispatchEvent(new CustomEvent('bonsa:swap-in'));\r\n\r\n        setTimeout(function () {\r\n          header.classList.remove('bonsa-swap-in');\r\n          isSwapping = false;\r\n          positionPanel();\r\n        }, SWAP_IN_MS);\r\n      }, SWAP_OUT_MS);\r\n    }, panelWait);\r\n  }\r\n\r\n  \/* ================= TEMA ================= *\/\r\n  function applyTheme(isDark) {\r\n    document.documentElement.classList.toggle('bonsa-dark', isDark);\r\n    document.body.classList.toggle('bonsa-dark', isDark);\r\n    try { localStorage.setItem(THEME_KEY, isDark ? 'dark' : 'light'); } catch (e) {}\r\n    syncToggles();\r\n    applyLogo();\r\n    applyPageBg();\r\n    window.dispatchEvent(new CustomEvent('bonsa:theme', { detail: { dark: isDark } }));\r\n  }\r\n\r\n  document.querySelectorAll('[data-bonsa-theme] span[data-theme]').forEach(function (btn) {\r\n    btn.addEventListener('click', function () {\r\n      if (isSwapping || isNavigating) return;\r\n      var isDark = this.dataset.theme === 'dark';\r\n      var already = document.documentElement.classList.contains('bonsa-dark');\r\n      if (isDark === already) return;\r\n      headerSwap(function () { applyTheme(isDark); });\r\n    });\r\n  });\r\n\r\n  \/* ================= NAVEGA\u00c7\u00c3O ================= *\/\r\n  function closeAndGo(url) {\r\n    var panelWait = closePanelAnimated();\r\n    setTimeout(function () {\r\n      if (header) {\r\n        header.classList.remove('bonsa-anim', 'bonsa-swap-in', 'bonsa-swap-out', 'bonsa-restore');\r\n        void header.offsetWidth;\r\n        header.classList.add('bonsa-leave');\r\n      }\r\n      window.dispatchEvent(new CustomEvent('bonsa:leave', { detail: { url: url } }));\r\n      setTimeout(function () { window.location.href = url; }, 1150);\r\n    }, panelWait);\r\n  }\r\n\r\n  (function markActive() {\r\n    var id;\r\n    try { id = new URL(window.location.href).searchParams.get('page_id'); } catch (e) {}\r\n    if (!id) return;\r\n    document.querySelectorAll('[data-route]').forEach(function (a) {\r\n      var route = a.getAttribute('data-route');\r\n      if (route === 'home') return;\r\n      if (String(BONSA_PAGES[route]) === String(id)) a.classList.add('active');\r\n    });\r\n  })();\r\n\r\n  function hrefFor(el) {\r\n    var r = el.getAttribute('data-route');\r\n    return r ? bonsaUrl(r) : (el.getAttribute('href') || '\/');\r\n  }\r\n\r\n  document.querySelectorAll('[data-bonsa-nav]').forEach(function (a) {\r\n    a.addEventListener('click', function (e) {\r\n      e.preventDefault();\r\n      if (isNavigating || isSwapping) return;\r\n      isNavigating = true;\r\n      var url = hrefFor(this);\r\n      this.classList.add('is-clicked');\r\n      var self = this;\r\n      setTimeout(function () { self.classList.remove('is-clicked'); }, 200);\r\n      closeAndGo(url);\r\n    });\r\n  });\r\n\r\n  var logoLink = document.querySelector('[data-bonsa-logo]');\r\n  if (logoLink) {\r\n    logoLink.addEventListener('click', function (e) {\r\n      e.preventDefault();\r\n      if (isNavigating || isSwapping) return;\r\n      isNavigating = true;\r\n      var url = hrefFor(this);\r\n      this.classList.add('is-clicked');\r\n      var self = this;\r\n      setTimeout(function () { self.classList.remove('is-clicked'); }, 200);\r\n      closeAndGo(url);\r\n    });\r\n  }\r\n\r\n  \/* ================= IDIOMA ================= *\/\r\n  function getLang() { return bonsaCurrentLang(); }\r\n\r\n  function setLang(lang, animate) {\r\n    var root = document.documentElement;\r\n\r\n    function updateState() {\r\n      try { localStorage.setItem(LANG_KEY, lang); } catch (e) {}\r\n      document.querySelectorAll('[data-bonsa-lang] button').forEach(function (b) {\r\n        b.classList.toggle('active', b.dataset.lang === lang);\r\n      });\r\n      try {\r\n        var url = new URL(window.location.href);\r\n        url.searchParams.set('lang', lang);\r\n        window.history.replaceState({}, '', url.toString());\r\n      } catch (e) {}\r\n      window.dispatchEvent(new CustomEvent('bonsa:lang', { detail: { lang: lang } }));\r\n    }\r\n\r\n    if (!animate) {\r\n      root.setAttribute('data-lang', lang);\r\n      updateState();\r\n      return;\r\n    }\r\n\r\n    root.classList.add('bonsa-lang-switching');\r\n    setTimeout(function () {\r\n      root.setAttribute('data-lang', lang);\r\n      updateState();\r\n      void root.offsetWidth;\r\n      requestAnimationFrame(function () {\r\n        requestAnimationFrame(function () {\r\n          root.classList.remove('bonsa-lang-switching');\r\n        });\r\n      });\r\n    }, 250);\r\n  }\r\n\r\n  setLang(getLang(), false);\r\n\r\n  document.querySelectorAll('[data-bonsa-lang] button').forEach(function (btn) {\r\n    btn.addEventListener('click', function () {\r\n      if (isSwapping || isNavigating) return;\r\n      var lang = this.dataset.lang;\r\n      if (this.classList.contains('active')) return;\r\n\r\n      this.classList.add('is-clicked');\r\n      var self = this;\r\n      setTimeout(function () { self.classList.remove('is-clicked'); }, 200);\r\n\r\n      headerSwap(function () { setLang(lang, true); });\r\n    });\r\n  });\r\n\r\n  \/* ================= BURGER ================= *\/\r\n  if (burger && panel) {\r\n    burger.addEventListener('click', function () {\r\n      if (isSwapping) return;\r\n      if (panel.classList.contains('open')) closePanelAnimated();\r\n      else openPanel();\r\n    });\r\n    document.addEventListener('keydown', function (e) {\r\n      if (e.key === 'Escape') closePanelAnimated();\r\n    });\r\n  }\r\n\r\n  \/* =========================================================\r\n     RESET AO VOLTAR (bfcache \/ bot\u00e3o voltar do navegador)\r\n     ========================================================= *\/\r\n  var restoreTimer = null;\r\n\r\n  function bonsaResetEntrance() {\r\n    isNavigating = false;\r\n    isSwapping   = false;\r\n\r\n    if (panel)  panel.classList.remove('open', 'closing');\r\n    if (burger) burger.classList.remove('is-open');\r\n    document.body.style.overflow = '';\r\n\r\n    document.querySelectorAll('.is-clicked').forEach(function (el) {\r\n      el.classList.remove('is-clicked');\r\n    });\r\n\r\n    if (!header) return;\r\n\r\n    clearTimeout(restoreTimer);\r\n\r\n    header.classList.remove('bonsa-leave', 'bonsa-swap-out', 'bonsa-swap-in', 'bonsa-anim', 'bonsa-restore');\r\n    header.style.animation = 'none';\r\n    void header.offsetWidth;\r\n    header.style.animation = '';\r\n    header.classList.add('bonsa-anim');\r\n\r\n    positionPanel();\r\n    syncToggles();\r\n    applyLogo();\r\n    applyPageBg();\r\n    setLang(getLang(), false);\r\n    bonsaSyncLinks();\r\n\r\n    window.dispatchEvent(new CustomEvent('bonsa:swap-in'));\r\n\r\n    restoreTimer = setTimeout(function () {\r\n      var cs = getComputedStyle(header);\r\n      if (parseFloat(cs.opacity) < 0.9) {\r\n        header.classList.remove('bonsa-anim');\r\n        header.classList.add('bonsa-restore');\r\n      }\r\n    }, 2000);\r\n  }\r\n\r\n  function bonsaIsBackForward() {\r\n    try {\r\n      var nav = performance.getEntriesByType('navigation')[0];\r\n      if (nav && nav.type === 'back_forward') return true;\r\n    } catch (e) {}\r\n    try {\r\n      if (performance.navigation && performance.navigation.type === 2) return true;\r\n    } catch (e) {}\r\n    return false;\r\n  }\r\n\r\n  window.addEventListener('pageshow', function (e) {\r\n    if (e.persisted || bonsaIsBackForward()) bonsaResetEntrance();\r\n  });\r\n\r\n  window.addEventListener('popstate', bonsaResetEntrance);\r\n\r\n  document.addEventListener('visibilitychange', function () {\r\n    if (!document.hidden && header &&\r\n        (header.classList.contains('bonsa-leave') || isNavigating)) {\r\n      bonsaResetEntrance();\r\n    }\r\n  });\r\n\r\n  \/* ================= CURSOR ================= *\/\r\n  var canHover = window.matchMedia('(hover: hover) and (pointer: fine)').matches;\r\n  if (canHover) {\r\n    document.documentElement.classList.add('bonsa-cursor-on');\r\n    var dot  = document.querySelector('[data-bonsa-dot]');\r\n    var ring = document.querySelector('[data-bonsa-ring]');\r\n    var mouseX = 0, mouseY = 0, ringX = 0, ringY = 0, visible = false;\r\n    var clickableSel = 'a, button, input, textarea, select, label, ' +\r\n                       '[role=\"button\"], [onclick], .bonsa-theme-toggle, ' +\r\n                       '.bonsa-theme-toggle span, [data-bonsa-burger], ' +\r\n                       '[data-bonsa-lang] button, [data-bonsa-logo]';\r\n    document.addEventListener('mousemove', function (e) {\r\n      mouseX = e.clientX; mouseY = e.clientY;\r\n      dot.style.left = mouseX + 'px'; dot.style.top = mouseY + 'px';\r\n      if (!visible) { visible = true; dot.style.opacity = '1'; ring.style.opacity = '1'; }\r\n      var hovering = e.target.closest ? e.target.closest(clickableSel) : null;\r\n      if (hovering) { ring.classList.add('is-hover'); dot.classList.add('is-hover'); }\r\n      else { ring.classList.remove('is-hover'); dot.classList.remove('is-hover'); }\r\n    });\r\n    function animateRing() {\r\n      ringX += (mouseX - ringX) * 0.18; ringY += (mouseY - ringY) * 0.18;\r\n      ring.style.left = ringX + 'px'; ring.style.top = ringY + 'px';\r\n      requestAnimationFrame(animateRing);\r\n    }\r\n    requestAnimationFrame(animateRing);\r\n    document.addEventListener('mousedown', function () { ring.classList.add('is-click'); });\r\n    document.addEventListener('mouseup', function () { ring.classList.remove('is-click'); });\r\n    document.addEventListener('mouseleave', function () { dot.style.opacity='0'; ring.style.opacity='0'; visible=false; });\r\n    document.addEventListener('mouseenter', function () { dot.style.opacity='1'; ring.style.opacity='1'; visible=true; });\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cb63bd5 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"cb63bd5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9ebb43c elementor-widget elementor-widget-spacer\" data-id=\"9ebb43c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3cfb40 elementor-widget elementor-widget-html\" data-id=\"d3cfb40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"bpt\" data-bpt>\r\n  <div class=\"bpt-inner\">\r\n    <h2 class=\"bpt-title\" data-bpt-title>\r\n      <span class=\"bpt-bracket\" aria-hidden=\"true\">\r\n        <svg viewBox=\"10 4 20 40\" fill=\"none\"><path d=\"M23.5,4.1h-8.7v40h8.7c3.2,0,5.9-2.6,5.9-5.9h0s-8.7,0-8.7,0V10.1h8.7c0-3.3-2.6-6-5.9-6Z\" fill=\"var(--bp-gold)\"\/><\/svg>\r\n      <\/span>\r\n      <span class=\"bpt-title-txt\">\r\n        <span data-lang-pt>NOSSOS PROJETOS<\/span><span data-lang-en>OUR PROJECTS<\/span>\r\n      <\/span>\r\n      <span class=\"bpt-bracket\" aria-hidden=\"true\">\r\n        <svg viewBox=\"10 4 20 40\" fill=\"none\"><path d=\"M16.5,4.1h8.7v40h-8.7c-3.2,0-5.9-2.6-5.9-5.9h0s8.7,0,8.7,0V10.1h-8.7c0-3.3,2.6-6,5.9-6Z\" fill=\"var(--bp-gold)\"\/><\/svg>\r\n      <\/span>\r\n    <\/h2>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n.elementor-widget-html,\r\n.elementor-widget-html > .elementor-widget-container{\r\n  background:transparent !important;padding:0 !important;margin:0 !important;\r\n  height:auto !important;min-height:0 !important;overflow:visible !important;\r\n}\r\n\r\n.bpt{\r\n  --bp-text:#141d1f; --bp-gold:#9f8368;\r\n  background:transparent !important; color:var(--bp-text);\r\n  font-family:'Borna','Bona','Poppins',Arial,sans-serif;\r\n  display:block !important; width:100%;\r\n  padding:0 !important; box-sizing:border-box;\r\n  transition:color .9s ease;\r\n}\r\nhtml.bonsa-dark .bpt, body.bonsa-dark .bpt{ --bp-text:#eeece8; }\r\n\r\n.bpt *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}\r\n.bpt *:focus,.bpt *:focus-visible,.bpt *:active{outline:none !important;box-shadow:none !important}\r\n\r\n\/* bil\u00edngue *\/\r\n.bpt [data-lang-pt],.bpt [data-lang-en]{transition:opacity .28s ease}\r\nhtml[data-lang=\"pt\"] .bpt [data-lang-en],\r\nhtml[data-lang=\"en\"] .bpt [data-lang-pt]{\r\n  opacity:0;position:absolute;pointer-events:none;width:0;height:0;overflow:hidden;\r\n}\r\n.bpt.bp-lang-busy [data-lang-pt],\r\n.bpt.bp-lang-busy [data-lang-en]{opacity:0 !important}\r\n.bpt.bp-lang-busy .bpt-title{\r\n  animation:none !important;opacity:1 !important;transform:none !important;filter:none !important;\r\n}\r\n\r\n.bpt-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:center}\r\n\r\n@keyframes bpt-rise{\r\n  from{opacity:0;transform:translateY(12px);filter:blur(6px)}\r\n  to  {opacity:1;transform:translateY(0);filter:blur(0)}\r\n}\r\n@keyframes bpt-fall{\r\n  from{opacity:1;transform:translateY(0);filter:blur(0)}\r\n  to  {opacity:0;transform:translateY(10px);filter:blur(5px)}\r\n}\r\n\r\n.bpt-title{\r\n  position:relative;display:inline-flex;align-items:center;justify-content:center;\r\n  gap:clamp(9px,1.1vw,14px);\r\n  margin:0;text-align:center;\r\n  font-size:clamp(24px,3vw,32px);font-weight:600;\r\n  line-height:1.25;letter-spacing:1.5px;text-transform:uppercase;\r\n  color:var(--bp-text);white-space:nowrap;opacity:1;\r\n  transition:color .9s ease;\r\n}\r\n.bpt-title-txt{display:inline-flex;align-items:center;justify-content:center;position:relative;min-height:1.25em}\r\n.bpt-title.is-armed{opacity:0;transform:translateY(12px);filter:blur(6px);animation:none !important}\r\n.bpt-title.is-in{animation:bpt-rise .7s cubic-bezier(.4,0,.2,1) both}\r\n.bpt-title.is-out{animation:bpt-fall .45s cubic-bezier(.4,0,.2,1) both}\r\n\r\n.bpt-bracket{\r\n  display:inline-flex;align-items:center;justify-content:center;\r\n  width:clamp(13px,1.6vw,20px);height:clamp(26px,3.4vw,40px);flex:none;\r\n}\r\n.bpt-bracket svg{width:100%;height:100%;display:block;overflow:visible}\r\n\r\n@media (max-width:768px){\r\n  .bpt-inner{padding:0 22px}\r\n  .bpt-title{font-size:clamp(20px,5.4vw,26px);gap:10px}\r\n  .bpt-bracket{width:14px;height:28px}\r\n}\r\n@media (max-width:560px){\r\n  .bpt-title{font-size:clamp(18px,5.2vw,23px);gap:8px}\r\n  .bpt-bracket{width:12px;height:24px}\r\n}\r\n@media (max-width:380px){\r\n  .bpt-inner{padding:0 16px}\r\n  .bpt-title{font-size:17px;gap:7px;letter-spacing:1px}\r\n  .bpt-bracket{width:11px;height:22px}\r\n}\r\n@media (prefers-reduced-motion:reduce){\r\n  .bpt *{animation:none !important;transition:none !important}\r\n  .bpt-title{opacity:1 !important;transform:none !important;filter:none !important}\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var section=document.currentScript.parentElement.querySelector('[data-bpt]');\r\n  var title=section&&section.querySelector('[data-bpt-title]');\r\n  if(!section||!title) return;\r\n\r\n  var REDUCED=matchMedia('(prefers-reduced-motion:reduce)').matches;\r\n  var LANG_FADE=300;\r\n  var io=null,timer=null,langTimer=null,isLangBusy=false;\r\n\r\n  function reflow(el){ el.style.animation='none'; void el.offsetWidth; el.style.animation=''; }\r\n\r\n  function show(){\r\n    clearTimeout(timer);\r\n    if(io){io.disconnect();io=null;}\r\n    if(REDUCED||isLangBusy){ title.classList.remove('is-armed','is-out','is-in'); return; }\r\n    title.classList.remove('is-out');\r\n    requestAnimationFrame(function(){\r\n      if(isLangBusy) return;\r\n      title.classList.remove('is-armed');\r\n      title.classList.add('is-in');\r\n    });\r\n  }\r\n  function hide(){\r\n    if(REDUCED) return;\r\n    clearTimeout(timer);\r\n    title.classList.remove('is-in','is-armed');\r\n    title.classList.add('is-out');\r\n  }\r\n  function arm(){\r\n    clearTimeout(timer);\r\n    if(io){io.disconnect();io=null;}\r\n    title.classList.remove('is-in','is-out','is-armed');\r\n    if(REDUCED||isLangBusy) return;\r\n    title.classList.add('is-armed');\r\n    reflow(title);\r\n    io=new IntersectionObserver(function(en){\r\n      en.forEach(function(e){ if(e.isIntersecting) show(); });\r\n    },{threshold:.2});\r\n    io.observe(title);\r\n    timer=setTimeout(show,800);\r\n  }\r\n\r\n  var lastLang=document.documentElement.getAttribute('data-lang')||'pt';\r\n  function langCrossfade(){\r\n    clearTimeout(langTimer);\r\n    isLangBusy=true;\r\n    title.classList.remove('is-armed','is-out','is-in');\r\n    section.classList.add('bp-lang-busy');\r\n    langTimer=setTimeout(function(){\r\n      section.classList.remove('bp-lang-busy');\r\n      isLangBusy=false;\r\n    },LANG_FADE);\r\n  }\r\n  addEventListener('bonsa:lang',function(){\r\n    lastLang=document.documentElement.getAttribute('data-lang')||'pt';\r\n    langCrossfade();\r\n  });\r\n  try{\r\n    new MutationObserver(function(){\r\n      var l=document.documentElement.getAttribute('data-lang')||'pt';\r\n      if(l!==lastLang){ lastLang=l; langCrossfade(); }\r\n    }).observe(document.documentElement,{attributes:true,attributeFilter:['data-lang']});\r\n  }catch(e){}\r\n\r\n  addEventListener('bonsa:leave',hide);\r\n  addEventListener('bonsa:swap-out',hide);\r\n  addEventListener('bonsa:swap-in',function(){\r\n    clearTimeout(langTimer);\r\n    section.classList.remove('bp-lang-busy');\r\n    isLangBusy=false;\r\n    arm();\r\n  });\r\n  addEventListener('pageshow',function(e){ if(e.persisted) arm(); });\r\n  addEventListener('popstate',arm);\r\n\r\n  arm();\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-487e160 elementor-widget elementor-widget-spacer\" data-id=\"487e160\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eec2559 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"eec2559\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-51cde42 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"51cde42\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6e43a53 elementor-widget elementor-widget-html\" data-id=\"6e43a53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== BONSA SECTION ANIM \u2014 controlador gen\u00e9rico de container ===== *\/\r\n.bonsa-sec{ position:relative; }\r\n\r\n\/* alvo de anima\u00e7\u00e3o = filhos diretos (exceto este widget controlador) *\/\r\n.bonsa-sec > .bonsa-hidden-ctl{ display:none !important; }\r\n\r\n.bonsa-sec > .bonsa-it{\r\n  opacity:1;\r\n  will-change:opacity, transform, filter;\r\n}\r\n\r\n\/* estado inicial armado (antes de entrar) *\/\r\n.bonsa-sec.bonsa-armed > .bonsa-it{\r\n  opacity:0;\r\n  transform:translateY(14px);\r\n  filter:blur(6px);\r\n}\r\n\r\n\/* ENTRADA \/ REPLAY *\/\r\n.bonsa-sec.bonsa-in > .bonsa-it{\r\n  animation:bonsa-sec-rise .5s cubic-bezier(.4,0,.2,1) both;\r\n  animation-delay:var(--d, 0s);\r\n}\r\n\r\n\/* SA\u00cdDA (swap de tema\/idioma e navega\u00e7\u00e3o) *\/\r\n.bonsa-sec.bonsa-out > .bonsa-it{\r\n  animation:bonsa-sec-fall .3s cubic-bezier(.4,0,.2,1) both;\r\n  animation-delay:var(--od, 0s);\r\n}\r\n\r\n\/* sa\u00edda de navega\u00e7\u00e3o: um pouco mais longa *\/\r\n.bonsa-sec.bonsa-out-nav > .bonsa-it{\r\n  animation:bonsa-sec-fall .45s cubic-bezier(.7,0,.2,1) both;\r\n  animation-delay:var(--od, 0s);\r\n}\r\n\r\n@keyframes bonsa-sec-rise{\r\n  0%  { opacity:0; transform:translateY(14px); filter:blur(6px); }\r\n  100%{ opacity:1; transform:translateY(0);    filter:blur(0); }\r\n}\r\n@keyframes bonsa-sec-fall{\r\n  0%  { opacity:1; transform:translateY(0);     filter:blur(0); }\r\n  100%{ opacity:0; transform:translateY(-10px); filter:blur(5px); }\r\n}\r\n\r\n\/* fundo acompanha o tema, sem piscar *\/\r\n.bonsa-sec{ transition:background-color .9s ease; }\r\n\r\n@media (prefers-reduced-motion:reduce){\r\n  .bonsa-sec > .bonsa-it,\r\n  .bonsa-sec.bonsa-in > .bonsa-it,\r\n  .bonsa-sec.bonsa-out > .bonsa-it,\r\n  .bonsa-sec.bonsa-out-nav > .bonsa-it{\r\n    animation:none !important; opacity:1 !important;\r\n    transform:none !important; filter:none !important;\r\n  }\r\n  .bonsa-sec.bonsa-armed > .bonsa-it{ opacity:1 !important; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"bonsa-hidden-ctl\" data-bonsa-sec-ctl\r\n     data-stagger=\"0.09\"\r\n     data-delay=\"0\"\r\n     data-threshold=\"0.18\"\r\n     data-once=\"1\"><\/div>\r\n\r\n<script>\r\n(function(){\r\n  var ctl = document.currentScript\r\n    ? document.currentScript.previousElementSibling\r\n    : document.querySelector('[data-bonsa-sec-ctl]:not([data-ready])');\r\n  if(!ctl) return;\r\n  ctl.setAttribute('data-ready','1');\r\n\r\n  var STAGGER   = parseFloat(ctl.dataset.stagger) || 0.09;\r\n  var BASE      = parseFloat(ctl.dataset.delay)   || 0;\r\n  var THRESHOLD = parseFloat(ctl.dataset.threshold) || 0.18;\r\n  var ONCE      = ctl.dataset.once === '1';\r\n  var REDUCED   = matchMedia('(prefers-reduced-motion:reduce)').matches;\r\n\r\n  \/* ---- acha o container Elementor pai ---- *\/\r\n  var sec = ctl.closest('.e-con, .elementor-section, .elementor-top-section');\r\n  if(!sec){ sec = ctl.parentElement; }\r\n  \/* dentro de e-con o conte\u00fado real fica em .e-con-inner *\/\r\n  var host = sec.querySelector(':scope > .e-con-inner, :scope > .elementor-container') || sec;\r\n  host.classList.add('bonsa-sec');\r\n\r\n  \/* o widget controlador vive dentro de um wrapper de widget: esconder o wrapper *\/\r\n  var wrap = ctl.closest('.elementor-element');\r\n  if(wrap && wrap.parentElement === host) wrap.classList.add('bonsa-hidden-ctl');\r\n\r\n  \/* ---- marca filhos anim\u00e1veis e calcula delays ---- *\/\r\n  var items = [];\r\n  function tag(){\r\n    items = Array.prototype.filter.call(host.children, function(el){\r\n      return !el.classList.contains('bonsa-hidden-ctl');\r\n    });\r\n    items.forEach(function(el, i){\r\n      el.classList.add('bonsa-it');\r\n      el.style.setProperty('--d',  (BASE + i * STAGGER).toFixed(3) + 's');\r\n      el.style.setProperty('--od', (i * (STAGGER * 0.45)).toFixed(3) + 's');\r\n    });\r\n  }\r\n  tag();\r\n\r\n  function clearAnim(){\r\n    host.classList.remove('bonsa-in','bonsa-out','bonsa-out-nav');\r\n    items.forEach(function(el){\r\n      el.style.animation = 'none';\r\n    });\r\n    void host.offsetWidth;\r\n    items.forEach(function(el){ el.style.animation = ''; });\r\n  }\r\n\r\n  function play(){\r\n    if(REDUCED){ host.classList.remove('bonsa-armed'); return; }\r\n    clearAnim();\r\n    host.classList.remove('bonsa-armed');\r\n    void host.offsetWidth;\r\n    host.classList.add('bonsa-in');\r\n  }\r\n\r\n  function leave(nav){\r\n    if(REDUCED) return;\r\n    clearAnim();\r\n    host.classList.add(nav ? 'bonsa-out-nav' : 'bonsa-out');\r\n  }\r\n\r\n  \/* ---- entrada por scroll (IntersectionObserver re-arm\u00e1vel) ---- *\/\r\n  var io = null;\r\n  function observe(){\r\n    if(io){ io.disconnect(); io = null; }\r\n    if(REDUCED) return;\r\n    host.classList.add('bonsa-armed');\r\n    io = new IntersectionObserver(function(entries){\r\n      entries.forEach(function(e){\r\n        if(e.isIntersecting){\r\n          play();\r\n          if(ONCE && io){ io.disconnect(); io = null; }\r\n        }\r\n      });\r\n    }, { threshold: THRESHOLD, rootMargin:'0px 0px -8% 0px' });\r\n    io.observe(host);\r\n  }\r\n  observe();\r\n\r\n  \/* ---- orquestra\u00e7\u00e3o do cabe\u00e7alho ---- *\/\r\n  addEventListener('bonsa:swap-out', function(){ leave(false); });\r\n  addEventListener('bonsa:leave',    function(){ leave(true);  });\r\n\r\n  addEventListener('bonsa:swap-in', function(){\r\n    tag();\r\n    observe();\r\n    var r = host.getBoundingClientRect();\r\n    var visible = r.top < innerHeight * 0.92 && r.bottom > 0;\r\n    if(visible) play();\r\n  });\r\n\r\n  \/* ---- voltar \/ bfcache \/ F5 ---- *\/\r\n  function isBackFwd(){\r\n    try{\r\n      var n = performance.getEntriesByType('navigation')[0];\r\n      if(n && (n.type === 'back_forward' || n.type === 'reload')) return true;\r\n    }catch(e){}\r\n    return false;\r\n  }\r\n  addEventListener('pageshow', function(e){\r\n    if(e.persisted || isBackFwd()){\r\n      tag(); observe();\r\n      var r = host.getBoundingClientRect();\r\n      if(r.top < innerHeight * 0.92 && r.bottom > 0) play();\r\n    }\r\n  });\r\n  addEventListener('popstate', function(){ tag(); observe(); });\r\n\r\n  document.addEventListener('visibilitychange', function(){\r\n    if(!document.hidden && host.classList.contains('bonsa-out-nav')){\r\n      clearAnim(); observe(); play();\r\n    }\r\n  });\r\n\r\n  \/* ---- reagir a tema\/idioma (relayout de alturas) ---- *\/\r\n  addEventListener('bonsa:theme', tag);\r\n  addEventListener('bonsa:lang',  tag);\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-30187f1 elementor-widget elementor-widget-image\" data-id=\"30187f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/bonsastudio.com\/wp-content\/uploads\/2026\/08\/fa2ea745d2584868893371b81dd04faf-scaled.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25801b4 elementor-widget elementor-widget-image\" data-id=\"25801b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/bonsastudio.com\/wp-content\/uploads\/2026\/08\/fa2ea745d2584868893371b81dd04faf-scaled.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-73bfbab e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"73bfbab\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bccc2b5 elementor-widget elementor-widget-html\" data-id=\"bccc2b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== BONSA SECTION ANIM \u2014 controlador gen\u00e9rico de container ===== *\/\r\n.bonsa-sec{ position:relative; }\r\n\r\n\/* alvo de anima\u00e7\u00e3o = filhos diretos (exceto este widget controlador) *\/\r\n.bonsa-sec > .bonsa-hidden-ctl{ display:none !important; }\r\n\r\n.bonsa-sec > .bonsa-it{\r\n  opacity:1;\r\n  will-change:opacity, transform, filter;\r\n}\r\n\r\n\/* estado inicial armado (antes de entrar) *\/\r\n.bonsa-sec.bonsa-armed > .bonsa-it{\r\n  opacity:0;\r\n  transform:translateY(14px);\r\n  filter:blur(6px);\r\n}\r\n\r\n\/* ENTRADA \/ REPLAY *\/\r\n.bonsa-sec.bonsa-in > .bonsa-it{\r\n  animation:bonsa-sec-rise .5s cubic-bezier(.4,0,.2,1) both;\r\n  animation-delay:var(--d, 0s);\r\n}\r\n\r\n\/* SA\u00cdDA (swap de tema\/idioma e navega\u00e7\u00e3o) *\/\r\n.bonsa-sec.bonsa-out > .bonsa-it{\r\n  animation:bonsa-sec-fall .3s cubic-bezier(.4,0,.2,1) both;\r\n  animation-delay:var(--od, 0s);\r\n}\r\n\r\n\/* sa\u00edda de navega\u00e7\u00e3o: um pouco mais longa *\/\r\n.bonsa-sec.bonsa-out-nav > .bonsa-it{\r\n  animation:bonsa-sec-fall .45s cubic-bezier(.7,0,.2,1) both;\r\n  animation-delay:var(--od, 0s);\r\n}\r\n\r\n@keyframes bonsa-sec-rise{\r\n  0%  { opacity:0; transform:translateY(14px); filter:blur(6px); }\r\n  100%{ opacity:1; transform:translateY(0);    filter:blur(0); }\r\n}\r\n@keyframes bonsa-sec-fall{\r\n  0%  { opacity:1; transform:translateY(0);     filter:blur(0); }\r\n  100%{ opacity:0; transform:translateY(-10px); filter:blur(5px); }\r\n}\r\n\r\n\/* fundo acompanha o tema, sem piscar *\/\r\n.bonsa-sec{ transition:background-color .9s ease; }\r\n\r\n@media (prefers-reduced-motion:reduce){\r\n  .bonsa-sec > .bonsa-it,\r\n  .bonsa-sec.bonsa-in > .bonsa-it,\r\n  .bonsa-sec.bonsa-out > .bonsa-it,\r\n  .bonsa-sec.bonsa-out-nav > .bonsa-it{\r\n    animation:none !important; opacity:1 !important;\r\n    transform:none !important; filter:none !important;\r\n  }\r\n  .bonsa-sec.bonsa-armed > .bonsa-it{ opacity:1 !important; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"bonsa-hidden-ctl\" data-bonsa-sec-ctl\r\n     data-stagger=\"0.09\"\r\n     data-delay=\"0\"\r\n     data-threshold=\"0.18\"\r\n     data-once=\"1\"><\/div>\r\n\r\n<script>\r\n(function(){\r\n  var ctl = document.currentScript\r\n    ? document.currentScript.previousElementSibling\r\n    : document.querySelector('[data-bonsa-sec-ctl]:not([data-ready])');\r\n  if(!ctl) return;\r\n  ctl.setAttribute('data-ready','1');\r\n\r\n  var STAGGER   = parseFloat(ctl.dataset.stagger) || 0.09;\r\n  var BASE      = parseFloat(ctl.dataset.delay)   || 0;\r\n  var THRESHOLD = parseFloat(ctl.dataset.threshold) || 0.18;\r\n  var ONCE      = ctl.dataset.once === '1';\r\n  var REDUCED   = matchMedia('(prefers-reduced-motion:reduce)').matches;\r\n\r\n  \/* ---- acha o container Elementor pai ---- *\/\r\n  var sec = ctl.closest('.e-con, .elementor-section, .elementor-top-section');\r\n  if(!sec){ sec = ctl.parentElement; }\r\n  \/* dentro de e-con o conte\u00fado real fica em .e-con-inner *\/\r\n  var host = sec.querySelector(':scope > .e-con-inner, :scope > .elementor-container') || sec;\r\n  host.classList.add('bonsa-sec');\r\n\r\n  \/* o widget controlador vive dentro de um wrapper de widget: esconder o wrapper *\/\r\n  var wrap = ctl.closest('.elementor-element');\r\n  if(wrap && wrap.parentElement === host) wrap.classList.add('bonsa-hidden-ctl');\r\n\r\n  \/* ---- marca filhos anim\u00e1veis e calcula delays ---- *\/\r\n  var items = [];\r\n  function tag(){\r\n    items = Array.prototype.filter.call(host.children, function(el){\r\n      return !el.classList.contains('bonsa-hidden-ctl');\r\n    });\r\n    items.forEach(function(el, i){\r\n      el.classList.add('bonsa-it');\r\n      el.style.setProperty('--d',  (BASE + i * STAGGER).toFixed(3) + 's');\r\n      el.style.setProperty('--od', (i * (STAGGER * 0.45)).toFixed(3) + 's');\r\n    });\r\n  }\r\n  tag();\r\n\r\n  function clearAnim(){\r\n    host.classList.remove('bonsa-in','bonsa-out','bonsa-out-nav');\r\n    items.forEach(function(el){\r\n      el.style.animation = 'none';\r\n    });\r\n    void host.offsetWidth;\r\n    items.forEach(function(el){ el.style.animation = ''; });\r\n  }\r\n\r\n  function play(){\r\n    if(REDUCED){ host.classList.remove('bonsa-armed'); return; }\r\n    clearAnim();\r\n    host.classList.remove('bonsa-armed');\r\n    void host.offsetWidth;\r\n    host.classList.add('bonsa-in');\r\n  }\r\n\r\n  function leave(nav){\r\n    if(REDUCED) return;\r\n    clearAnim();\r\n    host.classList.add(nav ? 'bonsa-out-nav' : 'bonsa-out');\r\n  }\r\n\r\n  \/* ---- entrada por scroll (IntersectionObserver re-arm\u00e1vel) ---- *\/\r\n  var io = null;\r\n  function observe(){\r\n    if(io){ io.disconnect(); io = null; }\r\n    if(REDUCED) return;\r\n    host.classList.add('bonsa-armed');\r\n    io = new IntersectionObserver(function(entries){\r\n      entries.forEach(function(e){\r\n        if(e.isIntersecting){\r\n          play();\r\n          if(ONCE && io){ io.disconnect(); io = null; }\r\n        }\r\n      });\r\n    }, { threshold: THRESHOLD, rootMargin:'0px 0px -8% 0px' });\r\n    io.observe(host);\r\n  }\r\n  observe();\r\n\r\n  \/* ---- orquestra\u00e7\u00e3o do cabe\u00e7alho ---- *\/\r\n  addEventListener('bonsa:swap-out', function(){ leave(false); });\r\n  addEventListener('bonsa:leave',    function(){ leave(true);  });\r\n\r\n  addEventListener('bonsa:swap-in', function(){\r\n    tag();\r\n    observe();\r\n    var r = host.getBoundingClientRect();\r\n    var visible = r.top < innerHeight * 0.92 && r.bottom > 0;\r\n    if(visible) play();\r\n  });\r\n\r\n  \/* ---- voltar \/ bfcache \/ F5 ---- *\/\r\n  function isBackFwd(){\r\n    try{\r\n      var n = performance.getEntriesByType('navigation')[0];\r\n      if(n && (n.type === 'back_forward' || n.type === 'reload')) return true;\r\n    }catch(e){}\r\n    return false;\r\n  }\r\n  addEventListener('pageshow', function(e){\r\n    if(e.persisted || isBackFwd()){\r\n      tag(); observe();\r\n      var r = host.getBoundingClientRect();\r\n      if(r.top < innerHeight * 0.92 && r.bottom > 0) play();\r\n    }\r\n  });\r\n  addEventListener('popstate', function(){ tag(); observe(); });\r\n\r\n  document.addEventListener('visibilitychange', function(){\r\n    if(!document.hidden && host.classList.contains('bonsa-out-nav')){\r\n      clearAnim(); observe(); play();\r\n    }\r\n  });\r\n\r\n  \/* ---- reagir a tema\/idioma (relayout de alturas) ---- *\/\r\n  addEventListener('bonsa:theme', tag);\r\n  addEventListener('bonsa:lang',  tag);\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7b4af8 elementor-widget elementor-widget-image\" data-id=\"e7b4af8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/bonsastudio.com\/wp-content\/uploads\/2026\/08\/fa2ea745d2584868893371b81dd04faf-scaled.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd72e38 elementor-widget elementor-widget-image\" data-id=\"cd72e38\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/bonsastudio.com\/wp-content\/uploads\/2026\/08\/fa2ea745d2584868893371b81dd04faf-scaled.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-97c5212 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"97c5212\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9d9af0d elementor-widget elementor-widget-html\" data-id=\"9d9af0d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ===== BONSA SECTION ANIM \u2014 controlador gen\u00e9rico de container ===== *\/\r\n.bonsa-sec{ position:relative; }\r\n\r\n\/* alvo de anima\u00e7\u00e3o = filhos diretos (exceto este widget controlador) *\/\r\n.bonsa-sec > .bonsa-hidden-ctl{ display:none !important; }\r\n\r\n.bonsa-sec > .bonsa-it{\r\n  opacity:1;\r\n  will-change:opacity, transform, filter;\r\n}\r\n\r\n\/* estado inicial armado (antes de entrar) *\/\r\n.bonsa-sec.bonsa-armed > .bonsa-it{\r\n  opacity:0;\r\n  transform:translateY(14px);\r\n  filter:blur(6px);\r\n}\r\n\r\n\/* ENTRADA \/ REPLAY *\/\r\n.bonsa-sec.bonsa-in > .bonsa-it{\r\n  animation:bonsa-sec-rise .5s cubic-bezier(.4,0,.2,1) both;\r\n  animation-delay:var(--d, 0s);\r\n}\r\n\r\n\/* SA\u00cdDA (swap de tema\/idioma e navega\u00e7\u00e3o) *\/\r\n.bonsa-sec.bonsa-out > .bonsa-it{\r\n  animation:bonsa-sec-fall .3s cubic-bezier(.4,0,.2,1) both;\r\n  animation-delay:var(--od, 0s);\r\n}\r\n\r\n\/* sa\u00edda de navega\u00e7\u00e3o: um pouco mais longa *\/\r\n.bonsa-sec.bonsa-out-nav > .bonsa-it{\r\n  animation:bonsa-sec-fall .45s cubic-bezier(.7,0,.2,1) both;\r\n  animation-delay:var(--od, 0s);\r\n}\r\n\r\n@keyframes bonsa-sec-rise{\r\n  0%  { opacity:0; transform:translateY(14px); filter:blur(6px); }\r\n  100%{ opacity:1; transform:translateY(0);    filter:blur(0); }\r\n}\r\n@keyframes bonsa-sec-fall{\r\n  0%  { opacity:1; transform:translateY(0);     filter:blur(0); }\r\n  100%{ opacity:0; transform:translateY(-10px); filter:blur(5px); }\r\n}\r\n\r\n\/* fundo acompanha o tema, sem piscar *\/\r\n.bonsa-sec{ transition:background-color .9s ease; }\r\n\r\n@media (prefers-reduced-motion:reduce){\r\n  .bonsa-sec > .bonsa-it,\r\n  .bonsa-sec.bonsa-in > .bonsa-it,\r\n  .bonsa-sec.bonsa-out > .bonsa-it,\r\n  .bonsa-sec.bonsa-out-nav > .bonsa-it{\r\n    animation:none !important; opacity:1 !important;\r\n    transform:none !important; filter:none !important;\r\n  }\r\n  .bonsa-sec.bonsa-armed > .bonsa-it{ opacity:1 !important; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"bonsa-hidden-ctl\" data-bonsa-sec-ctl\r\n     data-stagger=\"0.09\"\r\n     data-delay=\"0\"\r\n     data-threshold=\"0.18\"\r\n     data-once=\"1\"><\/div>\r\n\r\n<script>\r\n(function(){\r\n  var ctl = document.currentScript\r\n    ? document.currentScript.previousElementSibling\r\n    : document.querySelector('[data-bonsa-sec-ctl]:not([data-ready])');\r\n  if(!ctl) return;\r\n  ctl.setAttribute('data-ready','1');\r\n\r\n  var STAGGER   = parseFloat(ctl.dataset.stagger) || 0.09;\r\n  var BASE      = parseFloat(ctl.dataset.delay)   || 0;\r\n  var THRESHOLD = parseFloat(ctl.dataset.threshold) || 0.18;\r\n  var ONCE      = ctl.dataset.once === '1';\r\n  var REDUCED   = matchMedia('(prefers-reduced-motion:reduce)').matches;\r\n\r\n  \/* ---- acha o container Elementor pai ---- *\/\r\n  var sec = ctl.closest('.e-con, .elementor-section, .elementor-top-section');\r\n  if(!sec){ sec = ctl.parentElement; }\r\n  \/* dentro de e-con o conte\u00fado real fica em .e-con-inner *\/\r\n  var host = sec.querySelector(':scope > .e-con-inner, :scope > .elementor-container') || sec;\r\n  host.classList.add('bonsa-sec');\r\n\r\n  \/* o widget controlador vive dentro de um wrapper de widget: esconder o wrapper *\/\r\n  var wrap = ctl.closest('.elementor-element');\r\n  if(wrap && wrap.parentElement === host) wrap.classList.add('bonsa-hidden-ctl');\r\n\r\n  \/* ---- marca filhos anim\u00e1veis e calcula delays ---- *\/\r\n  var items = [];\r\n  function tag(){\r\n    items = Array.prototype.filter.call(host.children, function(el){\r\n      return !el.classList.contains('bonsa-hidden-ctl');\r\n    });\r\n    items.forEach(function(el, i){\r\n      el.classList.add('bonsa-it');\r\n      el.style.setProperty('--d',  (BASE + i * STAGGER).toFixed(3) + 's');\r\n      el.style.setProperty('--od', (i * (STAGGER * 0.45)).toFixed(3) + 's');\r\n    });\r\n  }\r\n  tag();\r\n\r\n  function clearAnim(){\r\n    host.classList.remove('bonsa-in','bonsa-out','bonsa-out-nav');\r\n    items.forEach(function(el){\r\n      el.style.animation = 'none';\r\n    });\r\n    void host.offsetWidth;\r\n    items.forEach(function(el){ el.style.animation = ''; });\r\n  }\r\n\r\n  function play(){\r\n    if(REDUCED){ host.classList.remove('bonsa-armed'); return; }\r\n    clearAnim();\r\n    host.classList.remove('bonsa-armed');\r\n    void host.offsetWidth;\r\n    host.classList.add('bonsa-in');\r\n  }\r\n\r\n  function leave(nav){\r\n    if(REDUCED) return;\r\n    clearAnim();\r\n    host.classList.add(nav ? 'bonsa-out-nav' : 'bonsa-out');\r\n  }\r\n\r\n  \/* ---- entrada por scroll (IntersectionObserver re-arm\u00e1vel) ---- *\/\r\n  var io = null;\r\n  function observe(){\r\n    if(io){ io.disconnect(); io = null; }\r\n    if(REDUCED) return;\r\n    host.classList.add('bonsa-armed');\r\n    io = new IntersectionObserver(function(entries){\r\n      entries.forEach(function(e){\r\n        if(e.isIntersecting){\r\n          play();\r\n          if(ONCE && io){ io.disconnect(); io = null; }\r\n        }\r\n      });\r\n    }, { threshold: THRESHOLD, rootMargin:'0px 0px -8% 0px' });\r\n    io.observe(host);\r\n  }\r\n  observe();\r\n\r\n  \/* ---- orquestra\u00e7\u00e3o do cabe\u00e7alho ---- *\/\r\n  addEventListener('bonsa:swap-out', function(){ leave(false); });\r\n  addEventListener('bonsa:leave',    function(){ leave(true);  });\r\n\r\n  addEventListener('bonsa:swap-in', function(){\r\n    tag();\r\n    observe();\r\n    var r = host.getBoundingClientRect();\r\n    var visible = r.top < innerHeight * 0.92 && r.bottom > 0;\r\n    if(visible) play();\r\n  });\r\n\r\n  \/* ---- voltar \/ bfcache \/ F5 ---- *\/\r\n  function isBackFwd(){\r\n    try{\r\n      var n = performance.getEntriesByType('navigation')[0];\r\n      if(n && (n.type === 'back_forward' || n.type === 'reload')) return true;\r\n    }catch(e){}\r\n    return false;\r\n  }\r\n  addEventListener('pageshow', function(e){\r\n    if(e.persisted || isBackFwd()){\r\n      tag(); observe();\r\n      var r = host.getBoundingClientRect();\r\n      if(r.top < innerHeight * 0.92 && r.bottom > 0) play();\r\n    }\r\n  });\r\n  addEventListener('popstate', function(){ tag(); observe(); });\r\n\r\n  document.addEventListener('visibilitychange', function(){\r\n    if(!document.hidden && host.classList.contains('bonsa-out-nav')){\r\n      clearAnim(); observe(); play();\r\n    }\r\n  });\r\n\r\n  \/* ---- reagir a tema\/idioma (relayout de alturas) ---- *\/\r\n  addEventListener('bonsa:theme', tag);\r\n  addEventListener('bonsa:lang',  tag);\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b37bf22 elementor-widget elementor-widget-image\" data-id=\"b37bf22\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/bonsastudio.com\/wp-content\/uploads\/2026\/08\/fa2ea745d2584868893371b81dd04faf-scaled.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8caa57f elementor-widget elementor-widget-image\" data-id=\"8caa57f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/bonsastudio.com\/wp-content\/uploads\/2026\/08\/fa2ea745d2584868893371b81dd04faf-scaled.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e696b1d e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"e696b1d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f077f48 elementor-widget elementor-widget-html\" data-id=\"f077f48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<footer class=\"bfoot\" data-bfoot>\r\n  <div class=\"bfoot-inner bfoot-anim\" data-bfoot-page>\r\n\r\n    <!-- COLUNA ESQUERDA: local + social -->\r\n    <div class=\"bfoot-left\" style=\"--d:.05s\">\r\n      <p class=\"bfoot-city\">\r\n        <span data-lang-pt>BELO HORIZONTE - MG - BRASIL<\/span><span data-lang-en>BELO HORIZONTE - MG - BRAZIL<\/span>\r\n      <\/p>\r\n\r\n      <div class=\"bfoot-social\">\r\n        <!-- WhatsApp -->\r\n        <a href=\"#\" class=\"bfoot-ico\" data-net=\"wa\" data-wa aria-label=\"WhatsApp\" target=\"_blank\" rel=\"noopener\" style=\"--ds:.28s\">\r\n          <svg viewBox=\"385 478 130 120\" fill=\"currentColor\">\r\n            <path fill-rule=\"evenodd\" d=\"M482.9,552.2c-.5-2.3-3-3.9-5.2-5.2-.8-.4-1.5-.8-2.1-1.2-2.7-1.6-6.2-3.4-9.3-2.1-.8.3-1.4.9-2,1.6-1,1.1-1.8,2.6-2.6,3.9-.3.5-.6.9-.9,1.3-.8,1-1.7,1.2-3,.7-9.1-3.6-16-9.7-21.1-18.1-.3-.5-.5-.9-.5-1.4,0-.1,0-.3,0-.4,0-.4.2-.8.5-1.3.1-.1.2-.3.3-.4.3-.3.6-.7.9-1,.8-.9,1.6-1.9,2.2-3,.4-.7.6-1.4.8-2.1,0-.3,0-.6,0-.9,0-.9-.1-1.9-.4-2.9-.4-1.3-.9-2.5-1.4-3.6-.8-1.7-1.6-3.9-2.8-5.6-.7-1.1-1.6-2-2.6-2.5-.9-.5-2-.8-3.1-.7-1.8,0-3.6.8-5,1.9-1.4,1.2-2.6,2.6-3.5,4.2-.6,1.1-1.1,2.2-1.4,3.4-.5,1.8-.8,3.6-.7,5.4h0c0,1.1.1,2.1.3,3.1,0,.3.1.7.2,1,.4,1.7,1.1,3.4,1.8,5.1.6,1.4,1.4,2.7,2.1,4,.4.7.9,1.4,1.3,2.1.7,1.1,1.4,2.1,2.1,3.1.2.3.5.7.7,1,3.1,4.1,6.6,7.9,10.5,11.2,1.6,1.3,3.2,2.6,4.9,3.7.8.6,1.7,1.1,2.6,1.7.4.3.9.5,1.3.8,2.8,1.6,5.8,3.1,8.9,4.2.3.1.6.3,1,.4.5.2,1.1.4,1.6.5s.5.2.8.3c3.5,1.1,6.8,2,10.6,1.2,2.8-.5,5.6-1.7,7.8-3.5.7-.6,1.4-1.3,2-2,.8-1,1.5-2.1,2-3.3.4-.9.6-1.8.7-2.8,0-.2,0-.4,0-.6,0-.4,0-.8-.1-1.1Z\"\/>\r\n            <path fill-rule=\"evenodd\" d=\"M514.9,536.2c0-14.3-4.7-27.6-12.7-38.3-11.7-15.6-30.3-25.7-51.3-25.7s-39.6,10.1-51.3,25.7c-8,10.7-12.7,23.9-12.7,38.3h0c0,3.1.2,6.2.7,9.2,1.1,7.9,3.8,15.6,7.8,22.5.6,1,1.2,2,1.8,3l-2.8,6.1-6.9,15.3c-.2.4-.3.8-.4,1.1,0,.4-.1.8-.1,1.2,0,1.3.4,2.6,1.3,3.6.3.4.7.7,1.1,1,.9.6,2,.9,3.1.9s1,0,1.5-.2l26.8-7.3c1.7.9,3.5,1.8,5.3,2.5,7.8,3.3,16.3,5,24.8,5,25.4,0,47.3-14.8,57.7-36.3.5-.9.9-1.9,1.3-2.8,3.2-7.7,5-16.1,5-24.9h0ZM494.7,565.8c-9.5,14.1-25.6,23.3-43.8,23.3s-18.6-2.5-26.6-7.2c-.3-.2-.5-.3-.8-.4-.6-.2-1.3-.4-2-.4s-1,0-1.5.2l-3.5,1-14,3.8,6.1-13.4c.3-.7.5-1.4.5-2.1,0-1.2-.3-2.4-1.1-3.5-5.5-7.6-8.8-16.4-9.7-25.7-.2-1.7-.3-3.5-.3-5.2,0-5.5.8-10.7,2.4-15.7,4.1-13.2,13.3-24.2,25.3-30.8,3-1.6,6.2-3,9.5-4,2.5-.8,5-1.4,7.7-1.8.9-.1,1.8-.2,2.6-.3,1.8-.2,3.6-.3,5.4-.3s3.6,0,5.4.3c.9,0,1.8.2,2.6.3,2.6.4,5.2,1,7.7,1.8,3.3,1,6.5,2.4,9.5,4,12,6.5,21.2,17.5,25.3,30.8,1.5,5,2.4,10.2,2.4,15.7,0,10.9-3.3,21.1-9,29.5Z\"\/>\r\n          <\/svg>\r\n        <\/a>\r\n\r\n        <!-- Instagram -->\r\n        <a href=\"https:\/\/www.instagram.com\/bonsastudio\" class=\"bfoot-ico\" data-net=\"ig\" aria-label=\"Instagram\" target=\"_blank\" rel=\"noopener\" style=\"--ds:.35s\">\r\n          <svg viewBox=\"215.1 475.1 132.5 132.4\" fill=\"currentColor\">\r\n            <path d=\"M281.6,509.6c-18.1,0-32.8,14.7-32.8,32.8s14.7,32.7,32.8,32.7,32.7-14.7,32.7-32.7-14.7-32.8-32.7-32.8ZM281.6,563.3c-11.6,0-21-9.4-21-21s9.4-21,21-21,20.9,9.4,20.9,21-9.4,21-20.9,21Z\"\/>\r\n            <path d=\"M316.3,499.6c-4.3,0-7.8,3.5-7.8,7.8s3.5,7.8,7.8,7.8,7.8-3.5,7.8-7.8-3.5-7.8-7.8-7.8Z\"\/>\r\n            <path d=\"M307.7,475.1h-52.7c-22,0-39.9,17.9-39.9,39.9v52.7c0,22.1,17.9,39.9,39.9,39.9h52.7c22.1,0,39.9-17.9,39.9-39.9v-52.7c0-22.1-17.9-39.9-39.9-39.9ZM335.2,567.8c0,15.2-12.3,27.4-27.4,27.4h-52.7c-15.2,0-27.4-12.3-27.4-27.4v-52.7c0-15.2,12.3-27.4,27.4-27.4h52.7c15.2,0,27.4,12.3,27.4,27.4v52.7Z\"\/>\r\n          <\/svg>\r\n        <\/a>\r\n\r\n        <!-- ArtStation -->\r\n        <a href=\"https:\/\/www.artstation.com\/pedrimborges\" class=\"bfoot-ico\" data-net=\"as\" aria-label=\"ArtStation\" target=\"_blank\" rel=\"noopener\" style=\"--ds:.42s\">\r\n          <svg viewBox=\"710.8 475.2 133.4 117.5\" fill=\"currentColor\">\r\n            <path d=\"M764.9,475.2h24.2c8.3.5,11,7.4,14.6,13.6,13.6,23.5,26.9,47.2,40.6,70.6,2.2,4.3,2.3,9.3-.2,13.4l-11.5,19.8-67.8-117.5Z\"\/>\r\n            <path d=\"M796.3,564.9l16.2,27.8h-78.5c-4.8-.4-9.1-3.1-11.3-7.3l-11.9-20.5h85.6Z\"\/>\r\n            <polygon points=\"784.1 546.3 723.4 546.3 753.9 493.8 784.1 546.3\"\/>\r\n          <\/svg>\r\n        <\/a>\r\n\r\n        <!-- E-mail -->\r\n        <a href=\"mailto:studiobonsa@gmail.com\" class=\"bfoot-ico\" data-net=\"mail\" aria-label=\"E-mail\" style=\"--ds:.49s\">\r\n          <svg viewBox=\"540.9 485.7 139.1 101.4\" fill=\"currentColor\">\r\n            <path d=\"M661.3,485.7h-101.7c-10.3,0-18.7,8.4-18.7,18.7v64c0,10.3,8.4,18.7,18.7,18.7h101.7c10.3,0,18.7-8.4,18.7-18.7v-64c0-10.3-8.4-18.7-18.7-18.7ZM612.3,539.2c-.5.4-1.2.7-1.8.7s-1.3-.2-1.8-.7l-49-42.9h101.7l-49,42.9ZM588.7,536.4l-37.2,32.6c0-.2,0-.4,0-.5v-64c0-.2,0-.4,0-.5l37.2,32.6ZM597.1,543.7l4.3,3.8c2.5,2.2,5.7,3.4,9.1,3.4s6.6-1.2,9.1-3.4l4.3-3.8,37.4,32.8h-101.7l37.4-32.8ZM632.2,536.4l37.2-32.6c0,.2,0,.4,0,.5v64c0,.2,0,.4,0,.5l-37.2-32.6Z\"\/>\r\n          <\/svg>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- CENTRO: logo -->\r\n    <div class=\"bfoot-center\" style=\"--d:.14s\">\r\n      <button class=\"bfoot-logo\" data-bfoot-top type=\"button\" aria-label=\"Voltar ao topo\">\r\n        <svg viewBox=\"662 362 44 44\" fill=\"none\">\r\n          <path class=\"bfoot-logo-p\" d=\"M703,404.1h-8.7c-3.2,0-5.9-2.6-5.9-5.9h0s8.7,0,8.7,0v-28.2h-8.7c0-3.2,2.6-5.9,5.9-5.9h8.7v40Z\"\/>\r\n          <path class=\"bfoot-logo-p\" d=\"M671.8,404.1h-8.7v-40h8.7c3.2,0,5.9,2.6,5.9,5.9h0s-8.7,0-8.7,0v28.2h8.7c0,3.2-2.6,5.9-5.9,5.9Z\"\/>\r\n          <rect class=\"bfoot-logo-p\" x=\"676.7\" y=\"377.8\" width=\"12.5\" height=\"12.5\"\/>\r\n        <\/svg>\r\n      <\/button>\r\n    <\/div>\r\n\r\n    <!-- DIREITA: subir + cr\u00e9ditos -->\r\n    <div class=\"bfoot-right\" style=\"--d:.22s\">\r\n      <button class=\"bfoot-top\" data-bfoot-top type=\"button\">\r\n        <span class=\"bfoot-top-ico\" aria-hidden=\"true\">\r\n          <svg viewBox=\"672 371 24 24\" fill=\"none\">\r\n            <path d=\"M691.7,382.7l-7.6-7.6c-.7-.7-1.9-.7-2.7,0-.7.7-.7,1.9,0,2.7l4.4,4.4h-10.1c-1,0-1.9.8-1.9,1.9s.8,1.9,1.9,1.9h10.1l-4.4,4.4c-.7.7-.7,1.9,0,2.7.4.4.8.6,1.3.6s1-.2,1.3-.6l7.6-7.6c.4-.4.6-.8.6-1.3s-.2-1-.6-1.3Z\" fill=\"currentColor\"\/>\r\n          <\/svg>\r\n        <\/span>\r\n        <span class=\"bfoot-top-txt\"><span data-lang-pt>SUBIR<\/span><span data-lang-en>TOP<\/span><\/span>\r\n      <\/button>\r\n      <p class=\"bfoot-brand\">BONSA STUDIO 3D<\/p>\r\n      <p class=\"bfoot-rights\">\r\n        <span data-lang-pt>\u00a9 2026 TODOS OS DIREITOS RESERVADOS<\/span><span data-lang-en>\u00a9 2026 ALL RIGHTS RESERVED<\/span>\r\n      <\/p>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/footer>\r\n\r\n<style>\r\n\/* ===== TOKENS OFICIAIS (defensivo \u2014 cabe\u00e7alho \u00e9 a fonte da verdade) ===== *\/\r\n:root{\r\n  --bg:#edece8; --bg-soft:#dedad1;\r\n  --text:#141d1f; --text-sub:#1e2828;\r\n  --gold:#9e8367; --detail:#d8d6d2;\r\n  --panel-text:#edece8;\r\n}\r\nhtml.bonsa-dark, body.bonsa-dark{\r\n  --bg:#141d1f; --bg-soft:#1e2828;\r\n  --text:#eeece8; --text-sub:#dedad1;\r\n  --gold:#9e8367; --detail:#252c2d;\r\n  --panel-text:#141d1f;\r\n}\r\n\r\n\/* ===== BIL\u00cdNGUE (nunca display:none) ===== *\/\r\n.bfoot [data-lang-pt], .bfoot [data-lang-en]{ transition: opacity .35s ease; }\r\nhtml[data-lang=\"pt\"] .bfoot [data-lang-en],\r\nhtml[data-lang=\"en\"] .bfoot [data-lang-pt]{\r\n  opacity:0; position:absolute; pointer-events:none; width:0; height:0; overflow:hidden;\r\n}\r\nhtml.bonsa-lang-switching .bfoot [data-lang-pt],\r\nhtml.bonsa-lang-switching .bfoot [data-lang-en]{ opacity:0; }\r\n\r\n\/* ===== SE\u00c7\u00c3O ===== *\/\r\n.bfoot{\r\n  background: var(--bg); color: var(--text);\r\n  font-family:'Borna','Poppins',Arial,sans-serif;\r\n  padding: 70px 0 60px; position:relative; z-index:1; clear:both; isolation:isolate;\r\n  box-sizing:border-box;\r\n  transition: background .9s ease, color .9s ease;\r\n}\r\n.bfoot *{ box-sizing:border-box; }\r\n.bfoot a, .bfoot button{ -webkit-tap-highlight-color:transparent; }\r\n\r\n.bfoot-inner{\r\n  max-width:1140px; margin:0 auto; padding:0;\r\n  display:grid; grid-template-columns:1fr auto 1fr; align-items:start; gap:40px;\r\n  transition: opacity .55s ease;\r\n}\r\n.bfoot-inner.bonsa-swap-out,\r\n.bfoot-inner.bonsa-exiting{ opacity:0; pointer-events:none; }\r\n\r\n\/* ===== RESET BLINDADO (Hello\/Elementor) ===== *\/\r\n.bfoot a:hover, .bfoot a:focus, .bfoot a:focus-visible, .bfoot a:active,\r\n.bfoot button:hover, .bfoot button:focus, .bfoot button:focus-visible, .bfoot button:active{\r\n  outline:none !important; box-shadow:none !important; text-decoration:none !important; filter:none;\r\n}\r\n\r\n\/* ===== ESQUERDA ===== *\/\r\n.bfoot-city{ margin:0; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--text); transition:color .9s ease; }\r\n\r\n.bfoot-social{ display:flex; gap:14px; margin-top:34px; }\r\n.bfoot-ico{\r\n  width:48px; height:48px; min-width:48px; min-height:48px; border-radius:14px;\r\n  display:grid; place-items:center; cursor:pointer; position:relative; overflow:hidden;\r\n  background: var(--bg-soft) !important; color: var(--text) !important;\r\n  border:1px solid var(--detail);\r\n  transition: transform .3s cubic-bezier(.34,1.4,.64,1), background .9s ease, color .3s ease, border-color .3s ease;\r\n}\r\n.bfoot-ico::before{\r\n  content:\"\"; position:absolute; inset:0; z-index:0;\r\n  opacity:0; transition: opacity .3s ease; pointer-events:none;\r\n}\r\n.bfoot-ico > svg{ position:relative; z-index:1; width:24px; height:24px; }\r\n.bfoot-ico[data-net=\"wa\"]::before{ background:linear-gradient(to bottom,#5df878,#07b822); }\r\n.bfoot-ico[data-net=\"ig\"]::before{ background:linear-gradient(to bottom,#505cd1,#a434b2,#dd2e76,#f7884d,#ffda81); }\r\n.bfoot-ico[data-net=\"as\"]::before{ background:#101014; }\r\n.bfoot-ico[data-net=\"mail\"]::before{ background:var(--gold); }\r\n\r\n@media (hover:hover) and (pointer:fine){\r\n  .bfoot-ico:hover{ transform: translateY(-3px); border-color: var(--gold); }\r\n  .bfoot-ico:hover::before{ opacity:1; }\r\n  .bfoot-ico[data-net=\"wa\"]:hover,\r\n  .bfoot-ico[data-net=\"ig\"]:hover,\r\n  .bfoot-ico[data-net=\"mail\"]:hover{ color:#fff !important; }\r\n  .bfoot-ico[data-net=\"as\"]:hover{ color:#13aff0 !important; }\r\n}\r\n.bfoot-ico.is-clicked{ transform: scale(.92); }\r\n\r\n\/* ===== CENTRO ===== *\/\r\n.bfoot-center{ display:grid; place-items:center; }\r\n.bfoot-logo{\r\n  display:inline-flex; width:56px; height:56px; padding:0; border:0; cursor:pointer;\r\n  background:transparent !important;\r\n  transition: transform .35s cubic-bezier(.34,1.56,.64,1);\r\n}\r\n.bfoot-logo svg{ width:100%; height:100%; }\r\n.bfoot-logo-p{ fill: var(--gold) !important; transition: fill .3s ease; }\r\n@media (hover:hover) and (pointer:fine){ .bfoot-logo:hover{ transform: scale(1.08); } }\r\n.bfoot-logo.is-clicked{ transform: scale(.92); }\r\n\r\n\/* ===== DIREITA ===== *\/\r\n.bfoot-right{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; }\r\n.bfoot-top{\r\n  display:inline-flex; align-items:center; gap:14px;\r\n  border:0; cursor:pointer; border-radius:50px;\r\n  padding:6px 26px 6px 6px; min-height:48px;\r\n  background: var(--gold) !important; color: var(--panel-text) !important;\r\n  font-family:inherit; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase;\r\n  transition: transform .3s cubic-bezier(.34,1.4,.64,1), color .9s ease;\r\n}\r\n@media (hover:hover) and (pointer:fine){ .bfoot-top:hover{ transform: translateY(-3px); } }\r\n.bfoot-top.is-clicked{ transform: scale(.94); }\r\n.bfoot-top-ico{\r\n  width:44px; height:44px; border-radius:50%; flex:0 0 auto;\r\n  background: var(--bg); color: var(--text);\r\n  display:grid; place-items:center;\r\n  transition: background .9s ease, color .9s ease;\r\n}\r\n.bfoot-top-ico svg{ width:22px; height:22px; transform: rotate(-90deg); }\r\n.bfoot-top-txt{ position:relative; display:inline-block; }\r\n\r\n.bfoot-brand{ margin:30px 0 0; font-size:14px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--text); transition:color .9s ease; }\r\n.bfoot-rights{ margin:6px 0 0; font-size:13px; font-weight:400; letter-spacing:.2px; text-transform:uppercase; color:var(--text-sub); opacity:.8; position:relative; transition:color .9s ease; }\r\n\r\n\/* ===== ENTRADA (stagger via --d \/ --ds) ===== *\/\r\n@keyframes bfoot-rise{\r\n  0%{ opacity:0; transform: translateY(12px); filter: blur(6px); }\r\n  100%{ opacity:1; transform: translateY(0); filter: blur(0); }\r\n}\r\n.bfoot-left, .bfoot-center, .bfoot-right, .bfoot-ico{ opacity:0; }\r\n.bfoot-inner.bfoot-in .bfoot-left,\r\n.bfoot-inner.bfoot-in .bfoot-center,\r\n.bfoot-inner.bfoot-in .bfoot-right{\r\n  animation: bfoot-rise .6s cubic-bezier(.4,0,.2,1) forwards;\r\n  animation-delay: var(--d, 0s);\r\n}\r\n.bfoot-inner.bfoot-in .bfoot-ico{\r\n  animation: bfoot-rise .5s cubic-bezier(.4,0,.2,1) forwards;\r\n  animation-delay: var(--ds, .3s);\r\n}\r\n\r\n\/* ===== RESPONSIVO ===== *\/\r\n@media (max-width:1000px){ .bfoot-inner{ gap:32px; } }\r\n@media (max-width:820px){\r\n  .bfoot{ padding:60px 0 50px; }\r\n  .bfoot-inner{ grid-template-columns:1fr; gap:36px; text-align:center; justify-items:center; padding:0 22px; }\r\n  .bfoot-left, .bfoot-right{ text-align:center; align-items:center; }\r\n  .bfoot-social{ justify-content:center; }\r\n  .bfoot-center{ order:-1; }\r\n  \/* toque: cor fixa, sem depender de hover *\/\r\n  .bfoot-ico::before{ opacity:1; }\r\n  .bfoot-ico[data-net=\"wa\"],\r\n  .bfoot-ico[data-net=\"ig\"],\r\n  .bfoot-ico[data-net=\"mail\"]{ color:#fff !important; }\r\n  .bfoot-ico[data-net=\"as\"]{ color:#13aff0 !important; }\r\n}\r\n@media (max-width:560px){\r\n  .bfoot-inner{ padding:0 18px; }\r\n  .bfoot-city, .bfoot-brand{ font-size:13px; }\r\n  .bfoot-social{ gap:12px; }\r\n}\r\n@media (max-width:380px){ .bfoot-inner{ padding:0 16px; } }\r\n\r\n\/* ===== A11Y ===== *\/\r\n@media (prefers-reduced-motion: reduce){\r\n  .bfoot *{ animation:none !important; transition:none !important; }\r\n  .bfoot-left, .bfoot-center, .bfoot-right, .bfoot-ico{ opacity:1 !important; transform:none !important; filter:none !important; }\r\n}\r\n\r\n\/* Host Elementor *\/\r\n.elementor-widget-html,\r\n.elementor-widget-html .elementor-widget-container{\r\n  background: transparent !important; padding:0 !important; margin:0 !important;\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var foot = document.querySelector('[data-bfoot]');\r\n  var page = document.querySelector('[data-bfoot-page]');\r\n  if(!foot || !page) return;\r\n\r\n  var isExiting = false, isSwapping = false, isNavigating = false;\r\n\r\n  \/* ===== ENTRADA \/ REPLAY (staggers resetados) ===== *\/\r\n  var io = null;\r\n  function armEntrance(){\r\n    if(io) io.disconnect();\r\n    page.classList.remove('bfoot-in');\r\n    var els = foot.querySelectorAll('.bfoot-left, .bfoot-center, .bfoot-right, .bfoot-ico');\r\n    els.forEach(function(el){ el.style.animation = 'none'; });\r\n    void page.offsetWidth;\r\n    els.forEach(function(el){ el.style.animation = ''; });\r\n\r\n    io = new IntersectionObserver(function(entries){\r\n      entries.forEach(function(e){\r\n        if(e.isIntersecting){ page.classList.add('bfoot-in'); io.unobserve(e.target); }\r\n      });\r\n    }, { threshold:.15 });\r\n    io.observe(foot);\r\n  }\r\n\r\n  \/* ===== SUBIR AO TOPO ===== *\/\r\n  foot.querySelectorAll('[data-bfoot-top]').forEach(function(btn){\r\n    btn.addEventListener('click', function(){\r\n      var self = this;\r\n      self.classList.add('is-clicked');\r\n      setTimeout(function(){ self.classList.remove('is-clicked'); }, 200);\r\n      var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n      window.scrollTo({ top:0, behavior: reduce ? 'auto' : 'smooth' });\r\n    });\r\n  });\r\n\r\n  \/* ===== WHATSAPP (2 n\u00fameros) ===== *\/\r\n  var WA_NUMEROS = ['5531992666666','351968294999'];\r\n  var wa = foot.querySelector('[data-wa]');\r\n  if(wa){\r\n    wa.addEventListener('click', function(e){\r\n      e.preventDefault();\r\n      if(isNavigating) return;\r\n      var self = this;\r\n      self.classList.add('is-clicked');\r\n      setTimeout(function(){ self.classList.remove('is-clicked'); }, 200);\r\n      var num = WA_NUMEROS[Math.random() < .5 ? 0 : 1];\r\n      window.open('https:\/\/wa.me\/' + num, '_blank', 'noopener');\r\n    });\r\n  }\r\n\r\n  \/* feedback de clique nos demais \u00edcones (links externos: sem fade-out) *\/\r\n  foot.querySelectorAll('.bfoot-ico:not([data-wa])').forEach(function(a){\r\n    a.addEventListener('click', function(){\r\n      var self = this;\r\n      self.classList.add('is-clicked');\r\n      setTimeout(function(){ self.classList.remove('is-clicked'); }, 200);\r\n    });\r\n  });\r\n\r\n  \/* ===== ORQUESTRA\u00c7\u00c3O (cabe\u00e7alho manda) ===== *\/\r\n  window.addEventListener('bonsa:leave', function(){\r\n    if(isExiting) return;\r\n    isExiting = true; isNavigating = true;\r\n    page.classList.add('bonsa-exiting');\r\n  });\r\n\r\n  window.addEventListener('bonsa:swap-out', function(){\r\n    isSwapping = true;\r\n    page.classList.remove('bonsa-swap-in');\r\n    void page.offsetWidth;\r\n    page.classList.add('bonsa-swap-out');\r\n  });\r\n\r\n  window.addEventListener('bonsa:swap-in', function(){\r\n    armEntrance();\r\n    void page.offsetWidth;\r\n    page.classList.remove('bonsa-swap-out');\r\n    setTimeout(function(){ isSwapping = false; }, 1050);\r\n  });\r\n\r\n  window.addEventListener('bonsa:lang',  function(){ \/* ressincronizado por CSS *\/ });\r\n  window.addEventListener('bonsa:theme', function(){ \/* ressincronizado por CSS *\/ });\r\n\r\n  \/* ===== RESET (bfcache \/ voltar) ===== *\/\r\n  function resetAll(){\r\n    isExiting = false; isSwapping = false; isNavigating = false;\r\n    page.classList.remove('bonsa-exiting','bonsa-swap-out','bonsa-swap-in');\r\n    foot.querySelectorAll('.is-clicked').forEach(function(el){ el.classList.remove('is-clicked'); });\r\n    armEntrance();\r\n  }\r\n  function isBackForward(){\r\n    try{ var n = performance.getEntriesByType('navigation')[0]; if(n && n.type === 'back_forward') return true; }catch(e){}\r\n    try{ if(performance.navigation && performance.navigation.type === 2) return true; }catch(e){}\r\n    return false;\r\n  }\r\n  window.addEventListener('pageshow', function(e){ if(e.persisted || isBackForward()) resetAll(); });\r\n  window.addEventListener('popstate', resetAll);\r\n  document.addEventListener('visibilitychange', function(){\r\n    if(!document.hidden && page.classList.contains('bonsa-exiting')) resetAll();\r\n  });\r\n\r\n  \/* ===== BOOT ===== *\/\r\n  armEntrance();\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9024cfd elementor-widget elementor-widget-html\" data-id=\"9024cfd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\r\n(function(){\r\n  if(matchMedia('(hover:hover) and (pointer:fine)').matches) return;\r\n  if(matchMedia('(prefers-reduced-motion:reduce)').matches) return;\r\n\r\n  var items = [];\r\n  function collect(){\r\n    items = Array.prototype.slice.call(\r\n      document.querySelectorAll('.elementor-widget-image')\r\n    ).filter(function(el){\r\n      return getComputedStyle(el).getPropertyValue('--proj-pt').trim() !== '';\r\n    });\r\n  }\r\n\r\n  function tick(){\r\n    var mid = window.innerHeight * 0.5, band = window.innerHeight * 0.22;\r\n    for(var i=0;i<items.length;i++){\r\n      var r = items[i].getBoundingClientRect();\r\n      var c = r.top + r.height\/2;\r\n      items[i].classList.toggle('bonsa-inview', Math.abs(c - mid) < band);\r\n    }\r\n    raf = 0;\r\n  }\r\n\r\n  var raf = 0;\r\n  function onScroll(){ if(!raf) raf = requestAnimationFrame(tick); }\r\n\r\n  collect(); tick();\r\n  addEventListener('scroll', onScroll, {passive:true});\r\n  addEventListener('resize', onScroll, {passive:true});\r\n  addEventListener('bonsa:swap-in', function(){ collect(); onScroll(); });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>ProjetosProjects Servi\u00e7osServices PT EN MetodologiaMethodology Sobre n\u00f3sAbout us ProjetosProjects Servi\u00e7osServices MetodologiaMethodology Sobre n\u00f3sAbout us PT EN NOSSOS PROJETOSOUR PROJECTS BELO HORIZONTE &#8211; MG &#8211; BRASILBELO HORIZONTE &#8211; MG &#8211; BRAZIL SUBIRTOP BONSA STUDIO 3D \u00a9 2026 TODOS OS DIREITOS RESERVADOS\u00a9 2026 ALL RIGHTS RESERVED<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-628","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/bonsastudio.com\/index.php?rest_route=\/wp\/v2\/pages\/628","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bonsastudio.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bonsastudio.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bonsastudio.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bonsastudio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=628"}],"version-history":[{"count":70,"href":"https:\/\/bonsastudio.com\/index.php?rest_route=\/wp\/v2\/pages\/628\/revisions"}],"predecessor-version":[{"id":1256,"href":"https:\/\/bonsastudio.com\/index.php?rest_route=\/wp\/v2\/pages\/628\/revisions\/1256"}],"wp:attachment":[{"href":"https:\/\/bonsastudio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}