/* Encerramento da home: visual do 8003, isolado nesta seção. */


.fx-rhythm .fx-button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:54px; padding:16px 24px; border:1px solid transparent; border-radius:3px; font:inherit; font-size:15px; font-weight:650; line-height:1.4; text-decoration:none; cursor:pointer; transition:background-color .2s,color .2s; }
.fx-rhythm .fx-button:hover { text-decoration:none; }
 
.fx-rhythm { --fx-ink:#0b0b0d; --fx-paper:#f4efe6; --fx-orange:#e35336; --fx-light:#ff963f; margin-inline:calc(-1 * var(--espaco-6)); scroll-margin-top:94px; --rhythm-surface: #090a0b; --rhythm-text: var(--fx-paper); --rhythm-muted: #b6c1c8; --rhythm-accent: var(--fx-paper); --rhythm-rule: rgba(255, 255, 255, .18); --rhythm-frame: max(8px, 1.1111cqw); position: relative; isolation: isolate; container-type: inline-size; color: var(--rhythm-text); background: var(--rhythm-surface); padding-block: clamp(32px, 4.5vw, 60px) 24px; border: 1px solid var(--fx-orange); border-radius: 0px; }
.fx-rhythm::before { content: ""; position: absolute; inset: 0; z-index: 2; border: var(--rhythm-frame) solid var(--fx-orange); pointer-events: none; }
.fx-rhythm-contour { position: absolute; inset: var(--rhythm-frame); width: calc(100% - 2 * var(--rhythm-frame)); height: calc(100% - 2 * var(--rhythm-frame)); max-width: none; z-index: 0; pointer-events: none; }
.fx-rhythm > .fx-wrap { width:100%; max-width:76rem; margin-inline:auto; position: relative; z-index: 1; padding-inline: clamp(24px, 3.6vw, 48px); }
.fx-rhythm-closing { display: grid; grid-template-columns: 1.02fr 1fr; align-items: center; gap: clamp(28px, 4.2vw, 60px); }
.fx-rhythm-heading { grid-area: 1 / 2; min-width: 0px; padding-block: 8px; }
.fx-rhythm h2 { color: inherit; font-size: clamp(44px, 5.6vw, 72px); line-height: 1.03; letter-spacing: -0.055em; font-stretch: 108%; font-weight: 760; margin: 0px 0px 26px; }
.fx-rhythm h2 span { color: var(--fx-orange); font-weight: 620; }
.fx-rhythm-intro { margin: 0px 0px 18px; font-size: clamp(20px, 2.2vw, 27px); font-weight: 460; line-height: 1.35; letter-spacing: -0.025em; }
.fx-rhythm-services, .fx-contact-link { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; color: var(--rhythm-muted); font-size: 14px; font-weight: 550; text-decoration-color: var(--rhythm-rule); text-underline-offset: 7px; }
.fx-rhythm-services:hover, .fx-contact-link:hover { color: var(--rhythm-text); text-decoration-color: currentcolor; }
.fx-rhythm-services { color: var(--fx-orange); text-decoration-color: currentcolor; }
.fx-rhythm .fx-rhythm-services:hover { color: var(--fx-light); }
.fx-rhythm-services span { font-size: 18px; }
.fx-rhythm-contact { scroll-margin-top: 94px; border-top: 1px solid var(--rhythm-rule); margin-top: 28px; padding-top: 26px; }
.fx-contact-eyebrow { margin: 0px 0px 14px; color: rgb(255, 255, 255); font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.fx-rhythm-contact h3 { color: var(--fx-orange); font-size: clamp(26px, 2.6vw, 34px); font-stretch: 105%; font-weight: 680; letter-spacing: -0.035em; line-height: 1.15; margin: 0px 0px 14px; }
.fx-contact-copy { max-width: 41ch; color: rgb(255, 255, 255); font-size: 14px; line-height: 1.7; margin: 0px 0px 24px; }
.fx-contact-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; }
.fx-contact-actions .fx-button { gap: 24px; min-height: 56px; padding-inline: 22px; border-radius: 6px; background: var(--fx-orange); color: var(--fx-ink); border-color: var(--fx-orange); font-size: 14px; box-shadow: rgba(53, 23, 13, 0.1) 0px 4px 16px; }
.fx-contact-actions .fx-button:hover { background: var(--fx-light); color: var(--fx-ink); border-color: var(--fx-light); }
.fx-contact-actions .fx-button span { font-size: 18px; }
.fx-rhythm-photo { grid-area: 1 / 1; align-self: stretch; margin: 0px; min-width: 0px; min-height: 540px; position: relative; overflow: hidden; border: 1px solid rgba(251, 216, 187, 0.23); border-radius: 8px; box-shadow: rgba(53, 23, 13, 0.22) 0px 12px 36px; }
.fx-rhythm-photo::after { content: ""; position: absolute; inset: 45% 0px 0px; background: linear-gradient(transparent, rgba(22, 13, 8, 0.84)); pointer-events: none; }
.fx-rhythm-photo img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% 39%; }
.fx-rhythm-photo figcaption { position: absolute; inset: auto 28px 28px; z-index: 1; color: var(--fx-paper); display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(251, 242, 231, 0.2); padding-top: 18px; }
.fx-rhythm-photo strong { font-family: "Archivo Variable", Arial, sans-serif; font-size: 40px; font-stretch: 100%; line-height: 0.95; font-weight: 760; letter-spacing: -0.045em; text-transform: uppercase; }
.fx-rhythm-photo figcaption span { max-width: 12ch; color: var(--fx-paper); font-size: 10px; font-weight: 500; line-height: 1.5; letter-spacing: 0.08em; text-transform: uppercase; text-align: right; padding-bottom: 2px; }
.fx-rhythm-baseline { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--rhythm-rule); color: var(--rhythm-muted); font-size: 11px; letter-spacing: 0.015em; }
/* "Forca para se mover." e "Espaco para ser voce." em branco e negrito (Lucas, 24/09). */
.fx-rhythm-baseline > span { color: var(--rhythm-text); font-weight: 700; }
.fx-rhythm-baseline > span:last-child { text-align: right; }

.fx-rhythm .rhythm-cadence i { width: 3px; background: var(--fx-orange); }
.fx-rhythm-social { display: flex; align-items: center; flex-wrap: wrap; gap: var(--espaco-3); margin-top: var(--espaco-8); }
.fx-rhythm-social a { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: var(--espaco-12); height: var(--espaco-12); border: 1px solid var(--rodape-contato-borda); border-radius: 12px; background: var(--rodape-contato-fundo); color: var(--fx-light); line-height: 1; text-decoration: none; transition: color 0.18s, background-color 0.18s, border-color 0.18s; }
.fx-rhythm-social a:hover { color: var(--rodape-contato-acento-hover); background: var(--rodape-contato-borda); border-color: var(--rodape-contato-borda-hover); }
.fx-rhythm-social a:focus-visible { outline: 2px solid var(--fx-light); outline-offset: 4px; }
.fx-rhythm-social a:active { background: rgba(227, 83, 54, 0.18); }
.fx-rhythm-social svg { display: block; flex: 0 0 auto; width: 24px; height: 24px; }
@media (forced-colors: active) {
.fx-rhythm-social a { border-color: LinkText; }
.fx-rhythm-social a:focus-visible { outline-color: Highlight; }
}
.fx-rhythm-footer { margin-top: 24px; padding-top: 12px; border-top: 1px solid var(--rhythm-rule); color: var(--rhythm-muted); font-size: 12px; line-height: 1.5; }
.fx-rhythm-site-links, .fx-rhythm-legal nav { display: flex; flex-wrap: wrap; gap: 0px 24px; }
.fx-rhythm-footer a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: none; }
.fx-rhythm-footer a:hover { color: var(--fx-orange); text-decoration: underline; text-underline-offset: 5px; }
.fx-rhythm-legal { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0px 24px; }
.fx-rhythm-legal p { margin: 0px; }
.fx-rhythm-footer-note { margin: 8px 0px 0px; overflow-wrap: anywhere; }
@media (max-width: 760px) {
.fx-rhythm-social { margin-top: var(--espaco-6); }
.fx-rhythm-footer { margin-top: 20px; }
.fx-rhythm-site-links, .fx-rhythm-legal nav { gap: 0px 18px; }
.fx-rhythm-legal { align-items: flex-start; flex-direction: column; gap: 6px; margin-top: 6px; }
}
.rhythm-cadence { display: flex; align-items: center; gap: 5px; height: 23px; }
.rhythm-cadence i { display: block; width: 4px; height: 19px; background: rgb(22, 15, 10); transform-origin: center center; animation: fx-cadence var(--cadence-duration) ease-in-out var(--cadence-delay) infinite; animation-play-state: paused; }
.rhythm-cadence i:nth-child(1) { height: 11px; --cadence-duration: 1.34s; --cadence-delay: -.16s; }
.rhythm-cadence i:nth-child(2) { height: 16px; --cadence-duration: 1.56s; --cadence-delay: -.41s; }
.rhythm-cadence i:nth-child(3) { height: 19px; --cadence-duration: 1.72s; --cadence-delay: -.87s; }
.rhythm-cadence i:nth-child(4) { height: 11px; --cadence-duration: 1.43s; --cadence-delay: -.63s; }
.rhythm-cadence i:nth-child(5) { height: 16px; --cadence-duration: 1.67s; --cadence-delay: -1.08s; }
.rhythm-cadence i:nth-child(6) { height: 19px; --cadence-duration: 1.38s; --cadence-delay: -.28s; }
.rhythm-cadence i:nth-child(7) { height: 11px; --cadence-duration: 1.79s; --cadence-delay: -1.24s; }
.rhythm-cadence i:nth-child(8) { height: 16px; --cadence-duration: 1.51s; --cadence-delay: -.74s; }
.rhythm-cadence i:nth-child(9) { height: 19px; --cadence-duration: 1.64s; --cadence-delay: -1.37s; }
.rhythm-cadence i:nth-child(10) { height: 11px; --cadence-duration: 1.46s; --cadence-delay: -.52s; }
.rhythm-cadence i:nth-child(11) { height: 16px; --cadence-duration: 1.76s; --cadence-delay: -1.14s; }
.rhythm-cadence i:nth-child(12) { height: 19px; --cadence-duration: 1.59s; --cadence-delay: -.91s; }
[data-effects="on"] .rhythm-cadence[data-visible="true"] i { animation-play-state: running; }
@keyframes fx-cadence {
  0%, 100% { transform: scaleY(0.4); }
  50% { transform: scaleY(1); }
}
.fx-rhythm :focus-visible { outline: 3px solid var(--rhythm-accent); outline-offset: 5px; }
.fx-rhythm h2 .fx-rhythm-line-mask { display: block; overflow: hidden; color: inherit; font-weight: inherit; }
.fx-rhythm h2 .fx-rhythm-line { display: block; color: inherit; font-weight: inherit; }
.fx-rhythm h2 .fx-rhythm-line--secondary { color: var(--fx-orange); font-weight: 620; }
.fx-rhythm [data-rhythm-link="true"] { align-items: center; }
.fx-rhythm-link-track { display: grid; overflow: hidden; line-height: inherit; }
.fx-rhythm-link-label { grid-area: 1 / 1; display: block; translate: 0px; transition: translate 330ms cubic-bezier(0.22, 1, 0.36, 1); }
.fx-rhythm-link-label--duplicate { translate: 0px 110%; }
.fx-rhythm [data-rhythm-link="true"]:is(:hover, :focus-visible) .fx-rhythm-link-label:first-child { translate: 0px -110%; }
.fx-rhythm [data-rhythm-link="true"]:is(:hover, :focus-visible) .fx-rhythm-link-label--duplicate { translate: 0px; }
.fx-rhythm-services[data-rhythm-link="true"] > [aria-hidden="true"] { transition: translate 330ms cubic-bezier(0.22, 1, 0.36, 1); }
.fx-rhythm-services[data-rhythm-link="true"]:is(:hover, :focus-visible) > [aria-hidden="true"] { translate: 4px -4px; }
.fx-contact-actions .fx-button[data-rhythm-ripple="true"] { position: relative; isolation: isolate; overflow: hidden; transition: background-color 0.2s, color 0.2s, translate 220ms cubic-bezier(0.22, 1, 0.36, 1); }
.fx-contact-actions .fx-button[data-rhythm-ripple="true"]:hover { translate: 0px -2px; }
.fx-rhythm-whatsapp-label, .fx-contact-actions .fx-button[data-rhythm-ripple="true"] > [aria-hidden="true"] { position: relative; z-index: 1; }
.fx-rhythm-ripple { position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; background: var(--fx-paper); opacity: 0.18; transform: translate(-50%, -50%) scale(0); animation: 700ms cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal forwards running fx-rhythm-ripple; }
.fx-rhythm-photo[data-rhythm-tilt="true"] { transform: rotateX(var(--rhythm-tilt-x, 0deg)) rotateY(var(--rhythm-tilt-y, 0deg)) scale(var(--rhythm-tilt-scale, 1)); transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1); will-change: transform; }
.fx-rhythm-photo[data-rhythm-tilt="true"].is-rhythm-tilting { transition: none; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="pending"] { opacity: 0; translate: 0px 8px; scale: 0.98; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="entered"] { animation: 500ms cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal both running fx-rhythm-section-in; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="pending"] .fx-rhythm-photo { opacity: 0; filter: blur(13px); translate: 0px 22px; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="entered"] .fx-rhythm-photo { animation: 760ms cubic-bezier(0.22, 1, 0.36, 1) 100ms 1 normal both running fx-rhythm-photo-in; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="pending"] .fx-rhythm-line { translate: 0px 108%; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="entered"] .fx-rhythm-line--primary { animation: 700ms cubic-bezier(0.22, 1, 0.36, 1) 200ms 1 normal both running fx-rhythm-line-in; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="entered"] .fx-rhythm-line--secondary { animation: 700ms cubic-bezier(0.22, 1, 0.36, 1) 280ms 1 normal both running fx-rhythm-line-in; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="pending"] :is(.fx-rhythm-intro, .fx-rhythm-services, .fx-rhythm-contact) { opacity: 0; translate: 0px 18px; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="entered"] .fx-rhythm-intro { animation: 650ms cubic-bezier(0.22, 1, 0.36, 1) 400ms 1 normal both running fx-rhythm-content-in; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="entered"] .fx-rhythm-services { animation: 650ms cubic-bezier(0.22, 1, 0.36, 1) 500ms 1 normal both running fx-rhythm-content-in; }
#seu-ritmo[data-effects="on"][data-rhythm-motion="entered"] .fx-rhythm-contact { animation: 650ms cubic-bezier(0.22, 1, 0.36, 1) 600ms 1 normal both running fx-rhythm-content-in; }
@keyframes fx-rhythm-section-in {
  0% { opacity: 0; translate: 0px 8px; scale: 0.98; }
  100% { opacity: 1; translate: 0px; scale: 1; }
}
@keyframes fx-rhythm-photo-in {
  0% { opacity: 0; filter: blur(13px); translate: 0px 22px; }
  100% { opacity: 1; filter: blur(0px); translate: 0px; }
}
@keyframes fx-rhythm-line-in {
  0% { translate: 0px 108%; }
  100% { translate: 0px; }
}
@keyframes fx-rhythm-content-in {
  0% { opacity: 0; translate: 0px 18px; }
  100% { opacity: 1; translate: 0px; }
}
@keyframes fx-rhythm-ripple {
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1); }
}
@media (max-width: 900px) {
.fx-rhythm-closing { gap: 28px; }
.fx-rhythm-photo { min-height: 440px; }
}
@media (max-width: 650px) {
 
 .fx-rhythm .fx-button { padding-block: 15px; }
 
.fx-rhythm { scroll-margin-top: 16px; padding-block: 32px 22px; }
.fx-rhythm > .fx-wrap { padding-inline: 22px; }
.fx-rhythm-closing { grid-template-columns: 1fr; gap: 32px; }
.fx-rhythm-heading { grid-area: auto; padding-block: 0px; }
.fx-rhythm h2 { font-size: clamp(38px, 11vw, 62px); margin-bottom: 22px; }
.fx-rhythm-intro { font-size: 21px; margin-bottom: 16px; }
.fx-rhythm-contact { scroll-margin-top: 16px; margin-top: 24px; padding-top: 24px; }
.fx-contact-actions .fx-button { width: 100%; }
.fx-rhythm-photo { grid-area: auto; width: 100%; min-height: 0px; aspect-ratio: 4 / 5; }
.fx-rhythm-photo figcaption { inset: auto 20px 20px; }
.fx-rhythm-photo strong { font-size: clamp(30px, 9.5vw, 37px); }
.fx-rhythm-baseline { grid-template-columns: 1fr 1fr; gap: 20px 12px; font-size: 10px; }
.fx-rhythm-baseline .rhythm-cadence { grid-column: 1 / -1; }
.rhythm-cadence { order: 3; width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
#seu-ritmo:not([data-effects="on"]) .rhythm-cadence i { animation: auto ease 0s 1 normal none running none; }
#seu-ritmo, #seu-ritmo .fx-rhythm-photo, #seu-ritmo .fx-rhythm-line, #seu-ritmo :is(.fx-rhythm-intro, .fx-rhythm-services, .fx-rhythm-contact) { opacity: 1 !important; filter: none !important; translate: none !important; scale: 1 !important; transform: none !important; animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
#seu-ritmo .rhythm-cadence i { animation: auto ease 0s 1 normal none running none !important; }
#seu-ritmo .fx-rhythm-ripple { display: none !important; }
}
/* Preserve the existing keyboard-accessible local pause control. */
.fx-rhythm .rhythm-cadence { gap: 4px; justify-content:center; min-height:44px; min-width:44px; padding:0; margin-block:-10.5px; border:0; background:transparent; cursor:pointer; }
.fx-rhythm .rhythm-cadence:disabled { cursor:default; opacity:1; }
@media (forced-colors:active) { .fx-rhythm { background:Canvas; color:CanvasText; } .fx-rhythm::before { border-color:CanvasText; } .fx-rhythm h2 span,.fx-rhythm p,.fx-rhythm-baseline { color:CanvasText; } .fx-rhythm a { color:LinkText; } .fx-rhythm .fx-button { border-color:ButtonText; background:ButtonFace; color:ButtonText; } .fx-rhythm :focus-visible { outline-color:Highlight; } .fx-rhythm .rhythm-cadence i { animation:none; background:CanvasText; } .fx-rhythm-contour { display:none; } }
@media print { .fx-rhythm .rhythm-cadence i { animation:none; } .fx-rhythm-contour { display:none; } }
