/* Brand typography replaces the decorative orbit motif. */
#solucoes::before,.service::after,.final::before,.final::after,#tecnologia .one-preview::after {
 content: ''; color: transparent; border: 0; border-radius: 0; box-shadow: none;
 background: linear-gradient(135deg,#b46ca133,#6b2b630b);
 mask: url('/site/assets/avante-monogram.webp') center / contain no-repeat;
 -webkit-mask: url('/site/assets/avante-monogram.webp') center / contain no-repeat;
 pointer-events: none; display: block; text-shadow: none;
}
#solucoes::before { font-size: 660px; width: 650px; height: 620px; right: -130px; top: -110px; transform: rotate(-12deg); }
.service::after { font-size: 230px; width: 240px; height: 230px; right: -45px; bottom: -65px; opacity: .65; transform: rotate(-12deg); }
.service:hover::after { transform: rotate(-9deg) translateY(-8px); }
.final::before { width: 130%; height: 125%; inset: -12.5% -15%; aspect-ratio: auto; background: linear-gradient(135deg,#ac659d29,#6b2b6310); animation: avante-monogram-breathe 12s ease-in-out infinite alternate; }
.final::after { font-size: 430px; width: 440px; height: 420px; bottom: -130px; right: -110px; transform: rotate(-12deg); opacity: .5; }
#tecnologia .one-preview::after { font-size: 310px; width: 280px; height: 300px; top: 10%; left: 53%; z-index: -1; -webkit-text-stroke-color: #e7a4d766; text-shadow: 18px 8px 0 #d994ce0b,36px 16px 0 #d994ce06; filter: drop-shadow(0 0 24px #cf78bb30); transform: translateX(-50%) perspective(800px) rotateY(calc(-18deg + var(--one-progress) * 28deg)); }
@keyframes avante-monogram-breathe { from { transform: scale(.96) translateY(10px); opacity: .65; } to { transform: scale(1.025) translateY(-10px); opacity: 1; } }

/* One integrated, responsive strip for evidence and playback controls. */
.hero .hero-proof { grid-template-columns: 1fr 1fr 1fr 1.15fr 1.5fr auto; align-items: center; height: auto; min-height: 118px; padding: 22px clamp(24px,5vw,96px); gap: 0; }
.hero .hero-proof > div { padding: 0 20px; }
.hero .hero-proof b { font-size: clamp(18px,1.45vw,26px); white-space: nowrap; }
.hero .hero-proof span { font-size: 12px; line-height: 1.45; }
.hero .hero-proof b > span { font: inherit; color: inherit; margin: 0; }
.hero .hero-proof .hero-alliance { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.hero .hero-proof .alliance-logo { padding: 0; border: 0; border-radius: 0; background: transparent; width: min(100%,235px); }
.alliance-logo img { width: 100%; height: auto; }
.hero .hero-proof .hero-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 0 0 0 16px; border: 0; }
.hero .hero-proof > div::after { pointer-events: none; }
.hero .hero-controls .video-toggle,.hero .hero-controls .cinema-motion-control { position: static; inset: auto; display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 10px; flex: 0 0 44px; border: 1px solid #ffffff40; border-radius: 50%; background: #ffffff08; color: #fff; box-shadow: none; transform: none; }
.hero-controls button svg { width: 22px; height: 22px; }
.hero .hero-controls button:hover { background: #96378d66; border-color: #e1a8d6; }
.hero .hero-controls button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Consistent content baselines, including cards with a single-line title. */
.metric-list > span { display: grid; grid-template-columns: 20px minmax(0,1fr); grid-template-rows: 1fr; column-gap: 16px; align-items: start; align-content: start; }
.metric-list > span::before { margin: 0; align-self: start; line-height: 1.25; }
.metric-list > span > span { align-self: start; margin: 0; }
@media(min-width:761px) {
 .service-list .service h3 { min-height: 2.5em; margin-bottom: 22px; }
 .service-list .service > div:not(.service-use) { display: grid; grid-template-rows: auto 1fr; align-content: start; }
 .service-list .service p { min-height: 3.3em; }
}

.footer { width: 100%; max-width: none; margin: 0; padding: 56px clamp(24px,3vw,56px) 24px; }
.footer > div { max-width: none; width: 100%; margin-inline: 0; }
.footer .footer-lead { display: grid; grid-template-columns: 170px minmax(0,1fr) auto; align-items: center; gap: 32px; padding-bottom: 30px; }
.footer .footer-lead p { max-width: none; font-size: 14px; }
.footer .footer-grid { display: grid; grid-template-columns: minmax(540px,2.8fr) minmax(140px,.8fr) minmax(150px,.8fr) minmax(190px,1fr); gap: 28px; padding-block: 30px; }
.footer .footer-grid > div:last-child { grid-column: auto; }
.footer .unit-address { display: grid; grid-template-columns: 130px minmax(0,1fr); align-items: baseline; gap: 12px; margin-top: 12px; }
.footer .unit-address b { font-size: 14px; white-space: nowrap; }
.footer .unit-address p { margin: 0; font-size: 12px; line-height: 1.65; color: #c3b9c5; text-align: left; }
.footer .footer-grid small { font-size: 12px; letter-spacing: .12em; margin-bottom: 16px; }
.footer .footer-grid p { text-align: left; }
.footer .footer-connections { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.footer .social-heading { display: none; }
.footer #footer-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.footer #footer-socials a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid #ffffff25; border-radius: 8px; font-size: 13px; color: #e8dae6; transition: border-color .2s,background .2s; }
.footer #footer-socials svg { width: 20px; height: 20px; flex: none; }
.footer #footer-socials a:hover { text-decoration: none; background: #96378d24; border-color: #b972aa; }
.footer .copyright { padding-top: 20px; border-top: 1px solid #ffffff20; font-size: 12px; }
@media(max-width:1200px) {
 .hero .hero-proof > div { padding-inline: 12px; }
 .hero .hero-proof { padding-inline: 24px; grid-template-columns: 1fr 1fr 1fr 1.2fr 1.4fr auto; }
 .hero .hero-proof b { font-size: 18px; }
 .hero .hero-controls .video-toggle,.hero .hero-controls .cinema-motion-control { width: 40px; height: 44px; flex-basis: 40px; }
 .footer .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
 .footer .footer-grid > div:first-child { grid-column: 1/-1; }
}
@media(max-width:760px) {
 .hero { display: block; height: auto; min-height: 100svh; padding: 140px 24px 0; }
 .hero .hero-proof { position: relative; inset: auto; grid-template-columns: 1fr 1fr; gap: 22px 0; width: calc(100% + 48px); margin: 40px -24px 0; padding: 24px; }
 .hero .hero-proof > div,.hero .hero-proof > div:first-child { padding: 0 14px; border: 0; }
 .hero .hero-proof > div:nth-child(odd) { padding-left: 0; }
 .hero .hero-proof > div:nth-child(even) { border-left: 1px solid #ffffff20; }
 .hero .hero-proof b { font-size: 20px; }
 .hero .hero-proof .hero-controls { justify-content: flex-start; padding-left: 14px; }
 #solucoes::before { font-size: 430px; width: 430px; height: 420px; right: -200px; }
 #tecnologia .one-preview::after { top: 10%; left: 74%; font-size: 240px; width: 230px; opacity: .55; }
 .final::before { font-size: 650px; }
 .footer .footer-lead { grid-template-columns: 1fr; gap: 20px; }
 .footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
 .footer .footer-grid > div:last-child { grid-column: 1/-1; }
 .footer .unit-address { grid-template-columns: 108px minmax(0,1fr); gap: 10px; }
 .footer .unit-address b { font-size: 12px; }
 .footer .copyright { display: flex; flex-wrap: wrap; gap: 12px; }
}
@media(prefers-reduced-motion:reduce) { .final::before { animation: none; } }
.cinema-paused .final::before { animation: none; }

/* Shared quotation finish and gradient outline typography. */
.final .btn.light { color:#fff; background:linear-gradient(135deg,#9e438f 0%,#6b2b63 100%); border:1px solid #efb8e17a; box-shadow:0 14px 36px #27152266,inset 0 1px 0 #ffffff24; }
.final .btn.light:hover { color:#fff; background:linear-gradient(135deg,#a94b99 0%,#793170 100%); border-color:#f9d3f0bf; }
.final .btn:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.hero h1 em { position:relative; display:inline-block; background:none; -webkit-text-stroke:0; }
.hero h1 em > span { background:none; }
.hero h1 em.outline-ready > span { opacity:0; }
.hero h1 em .hero-outline { position:absolute; inset:-.25em 0 auto; width:100%; height:100%; overflow:visible; pointer-events:none; }
.hero-outline text { fill:none; stroke:url(#hero-word-gradient); stroke-width:1.6px; stroke-linejoin:round; paint-order:stroke; }
#tecnologia .one-preview::after { background:linear-gradient(135deg,#d493bf44,#9e438f18); text-shadow:none; }

/* Refinement: backgrounds never participate in text layout. */
#solucoes { padding-top: clamp(64px,5vw,90px); isolation: isolate; }
#solucoes::before { position:absolute; z-index:-1; top:-90px; }
#solucoes .index { margin-bottom:28px; }
#solucoes .heading { align-items:end; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(40px,7vw,120px); }
#solucoes .heading h2 { max-width:12ch; font-size:clamp(44px,5vw,80px); line-height:1.1; letter-spacing:-.045em; text-wrap:balance; }
#solucoes .heading > p { padding:0 0 6px; margin:0; font-size:16px; line-height:1.75; }
#tecnologia .one-preview::after,#tecnologia .one-side::before { display:none; }
.one-brand-motion { position:absolute; width:280px; aspect-ratio:537/433; left:53%; top:54%; transform:translate(-50%,-50%); pointer-events:none; z-index:-1; }
.one-brand-motion > img { width:100%; height:100%; object-fit:contain; opacity:.14; }
#seguranca .cards article { position:relative; isolation:isolate; overflow:hidden; }
#seguranca .cards article::after { content:''; position:absolute; z-index:-1; pointer-events:none; width:240px; height:230px; right:-45px; bottom:-65px; transform:rotate(-12deg); background:#e6b9dd14; mask:url('/site/assets/avante-monogram.webp') center/contain no-repeat; -webkit-mask:url('/site/assets/avante-monogram.webp') center/contain no-repeat; }
.final::after { display:none; }
.final p:not(.eyebrow),.final p:not(.eyebrow) > span[data-text-id] { text-align:center; text-align-last:center; }
.footer { padding-top:24px; }
.footer .footer-lead { grid-template-columns:210px minmax(0,1fr) auto; padding-bottom:18px; gap:30px; min-height:0; }
.footer .footer-lead img { width:210px; max-width:100%; }
@media(max-width:760px) {
 #solucoes { padding-top:64px; }
 #solucoes .heading > p { padding-top:0; }
 .one-brand-motion { width:220px; left:70%; top:29%; opacity:.65; }
 .footer .footer-lead { grid-template-columns:1fr; gap:14px; }
 .footer .footer-lead img { width:200px; }
}

@media(max-width:760px) { #solucoes .heading { grid-template-columns:1fr; gap:24px; } #solucoes .heading h2 { font-size:clamp(38px,9vw,58px); max-width:15ch; } }

/* The official mark itself carries the scroll motion. */
.one-brand-motion {
 transform:translate(-50%,-50%) translate3d(calc((var(--one-mark-progress,.5) - .5) * 48px),calc((.5 - var(--one-mark-progress,.5)) * 36px),0) perspective(900px) rotateY(calc((var(--one-mark-progress,.5) - .5) * 18deg)) rotateZ(calc((var(--one-mark-progress,.5) - .5) * -4deg));
 transform-origin:center; will-change:transform;
}
.one-brand-motion > img { opacity:.2; filter:drop-shadow(0 12px 18px #09060e55); }
.one-brand-motion::before { content:''; position:absolute; inset:-32%; background:radial-gradient(ellipse,#a16a9121,transparent 66%); pointer-events:none; z-index:-1; }
#tecnologia .one-preview { background:radial-gradient(ellipse at 53% 54%,#92578020,transparent 62%),linear-gradient(135deg,#24132e,#100c15 62%,#271427); }
@media(max-width:760px) { .one-brand-motion { transform:translate(-50%,-50%) translateY(calc((.5 - var(--one-mark-progress,.5)) * 20px)); } }
@media(prefers-reduced-motion:reduce) { .one-brand-motion { transform:translate(-50%,-50%); will-change:auto; } }

/* Static, centered official mark in the Avante One composition. */
#tecnologia .one-brand-motion {
 left:50%; top:50%; transform:translate(-50%,-50%);
 animation:none; transition:none; will-change:auto;
}
