/* INNOVA – página inicial arrojada. Só é carregado nessa página. */
/* Layout: cartaz. Letras gigantes que deixam ver os renders por dentro, autocolantes, um azul que inunda. Antes e depois como ideia central. */
body.innova-arrojada {
	--branco: #ffffff;
	--tinta: #0b1420;
	--azul: #3889c9;
	--azul-noite: #12304d;
	--osso: #eef1f3;
	--cinza: #66707c;
	--letra: "Archivo", "Helvetica Neue", Arial, sans-serif;
	color-scheme: light;
}
body.innova-arrojada, body.innova-arrojada *, body.innova-arrojada *::before, body.innova-arrojada *::after { box-sizing: border-box; }
html:has(body.innova-arrojada) { scroll-behavior: smooth; }
html:has(body.innova-arrojada) { overflow-x: clip; }
body.innova-arrojada { background: var(--branco); color: var(--tinta); font-family: var(--letra); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-x: clip; }
:where(body.innova-arrojada) img, :where(body.innova-arrojada) video { display: block; max-width: 100%; }
:where(body.innova-arrojada) a { color: inherit; }
:where(body.innova-arrojada) :is(p, h1, h2, h3) { margin: 0; font-family: inherit; color: inherit; }
:where(body.innova-arrojada) :is(h1, h2, h3) { text-wrap: balance; }
.ar-g { padding-left: max(18px, env(safe-area-inset-left, 0px)); padding-right: max(18px, env(safe-area-inset-right, 0px)); }
.ar-w { max-width: 1440px; margin: 0 auto; }
.ar-mega { font-stretch: 125%; font-weight: 900; text-transform: uppercase; line-height: .82; letter-spacing: -.035em; }
body.innova-arrojada :focus-visible { outline: 3px solid var(--azul); outline-offset: 3px; }

/* Barra */
body.innova-arrojada::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 20; background: var(--branco); }
.ar-barra { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 19; background: var(--branco); }
.ar-barra .ar-w { display: flex; justify-content: space-between; align-items: center; gap: 16px; height: 68px; }
.ar-marca { display: inline-flex; align-items: center; text-decoration: none; }
.ar-marca img { height: 42px; width: auto; }
.ar-marca-rodape { height: 36px; width: auto; }
@media (max-width: 520px) { .ar-marca img { height: 36px; } }
.ar-barra nav { display: flex; gap: 22px; font-size: 14px; font-weight: 600; }
.ar-barra nav a { text-decoration: none; }
.ar-barra nav a:hover { color: var(--azul); }
.ar-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--tinta); color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; padding: 10px 16px; border-radius: 999px; border: 0; cursor: pointer; font-family: inherit; transition: background .2s, transform .2s; }
.ar-pill:hover { background: var(--azul); transform: rotate(-2deg); }
@media (max-width: 820px) { .ar-barra nav { display: none; } }

/* Abertura: o nome feito de render */
.ar-abertura { position: relative; padding-block: 8px 0; }
.ar-abertura .ar-frase { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px 48px; align-items: end; padding-block: 22px 0; }
.ar-abertura .ar-frase h2 { font-stretch: 125%; font-weight: 800; font-size: clamp(26px, 3.6vw, 54px); line-height: .98; letter-spacing: -.02em; text-transform: uppercase; }
.ar-abertura .ar-frase h2 em { font-style: italic; font-stretch: 62%; font-weight: 500; text-transform: none; color: var(--azul); letter-spacing: 0; }
.ar-abertura .ar-frase p { font-size: 17px; max-width: 46ch; }
.ar-abertura .ar-frase .ar-cta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.ar-contorno { display: inline-flex; padding: 10px 16px; border-radius: 999px; border: 2px solid var(--tinta); font-weight: 700; font-size: 14px; text-decoration: none; }
.ar-contorno:hover { background: var(--tinta); color: #fff; }
.ar-autocolante { position: absolute; z-index: 3; right: max(22px, 4vw); top: auto; bottom: -46px; width: clamp(96px, 11vw, 150px); transform: rotate(9deg); filter: drop-shadow(0 8px 16px rgba(11,20,32,.25)); }
@media (max-width: 760px) { .ar-abertura .ar-frase { grid-template-columns: 1fr; } .ar-autocolante { bottom: -34px; right: 18px; } }

/* Fita */
.ar-fita { background: var(--azul); color: #fff; overflow: hidden; margin-top: clamp(40px, 6vw, 72px); transform: rotate(-1.6deg); width: 104%; margin-left: -2%; }
.ar-fita div { display: flex; width: max-content; animation: corre 26s linear infinite; }
.ar-fita span { font-stretch: 125%; font-weight: 900; text-transform: uppercase; font-size: clamp(20px, 3vw, 38px); padding: 14px 0; white-space: nowrap; }
.ar-fita span::after { content: "✕"; font-weight: 400; margin: 0 .7em; opacity: .55; }
@keyframes corre { to { transform: translateX(-50%); } }

/* Antes / depois */
.ar-ad { padding-block: clamp(80px, 11vw, 160px) clamp(60px, 8vw, 120px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.ar-ad h2 { font-size: clamp(56px, 10vw, 160px); }
.ar-ad h2 .ar-a { color: var(--azul); display: block; font-style: italic; font-stretch: 62%; font-weight: 800; letter-spacing: -.02em; }
.ar-ad .ar-txt p { margin-top: 26px; font-size: 18px; max-width: 40ch; }
.ar-ad .ar-txt small { display: block; margin-top: 14px; color: var(--cinza); font-size: 13px; }
.ar-comparar { position: relative; aspect-ratio: 9 / 13; max-height: 760px; width: 100%; overflow: hidden; border-radius: 18px; --pos: 50%; justify-self: center; max-width: 560px; }
.ar-comparar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ar-comparar .ar-depois { clip-path: inset(0 0 0 var(--pos)); }
.ar-comparar .ar-linha { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: #fff; pointer-events: none; }
.ar-comparar .ar-linha::after { content: "ARRASTE"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-90deg); background: var(--azul); color: #fff; font-weight: 900; font-stretch: 125%; font-size: 11px; letter-spacing: .14em; padding: 8px 12px; border-radius: 999px; white-space: nowrap; }
.ar-comparar input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.ar-etq { position: absolute; top: 16px; z-index: 2; font-weight: 900; font-stretch: 125%; font-size: 12px; letter-spacing: .1em; padding: 6px 11px; border-radius: 999px; pointer-events: none; }
.ar-etq--a { left: 16px; background: #fff; color: var(--tinta); transform: rotate(-4deg); }
.ar-etq--d { right: 16px; background: var(--tinta); color: #fff; transform: rotate(4deg); }
@media (max-width: 860px) { .ar-ad { grid-template-columns: 1fr; } }

/* Serviços: palavras enormes, a imagem segue o cursor */
.ar-servicos { background: var(--tinta); color: #fff; padding-block: clamp(70px, 9vw, 130px); position: relative; }
.ar-servicos .ar-topo { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: 30px; }
.ar-servicos .ar-topo p { max-width: 36ch; color: rgba(255,255,255,.7); }
.ar-servicos .ar-topo h2 { font-size: clamp(14px, 1.2vw, 16px); font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--azul); font-stretch: 125%; }
.ar-lista { list-style: none; margin: 0; padding: 0; }
.ar-lista li { border-top: 1px solid rgba(255,255,255,.18); display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 8px; cursor: default; }
.ar-lista li:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.ar-lista h3 { font-size: clamp(34px, 7.4vw, 118px); transition: color .2s, transform .35s cubic-bezier(.2,.7,.2,1); }
.ar-lista li:hover h3 { color: var(--azul); transform: translateX(14px); }
.ar-lista p { max-width: 28ch; font-size: 14px; color: rgba(255,255,255,.65); text-align: right; }
.ar-lista img { display: none; }
.ar-flutua { position: fixed; z-index: 15; width: 260px; aspect-ratio: 3 / 4; object-fit: cover; pointer-events: none; border-radius: 12px; opacity: 0; transform: translate(-50%, -50%) rotate(-5deg) scale(.9); transition: opacity .2s, transform .25s; left: 0; top: 0; }
.ar-flutua.on { opacity: 1; transform: translate(-50%, -50%) rotate(-5deg) scale(1); }
@media (max-width: 760px), (hover: none) {
	.ar-lista li { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 14px; padding-block: 14px; }
	.ar-lista img { display: block; width: 88px; aspect-ratio: 1; object-fit: cover; border-radius: 10px; grid-row: span 2; }
	.ar-lista h3 { font-size: clamp(20px, 6.4vw, 40px); font-stretch: 100%; overflow-wrap: anywhere; }
	.ar-lista p { text-align: left; }
	.ar-flutua { display: none; }
}

/* Projetos: parede de autocolantes */
.ar-parede { padding-block: clamp(80px, 11vw, 150px); }
.ar-parede .ar-cab { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: clamp(30px, 5vw, 60px); }
.ar-parede h2 { font-size: clamp(40px, 11vw, 170px); }
.ar-parede .ar-cab p { max-width: 34ch; font-size: 17px; }
.ar-mosaico { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(10px, 1.6vw, 22px); }
.ar-mosaico figure { margin: 0; position: relative; overflow: hidden; border-radius: 14px; }
.ar-mosaico img, .ar-mosaico video { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.ar-mosaico figure:hover img { transform: scale(1.05); }
.ar-mosaico figcaption { position: absolute; left: 12px; bottom: 12px; background: #fff; color: var(--tinta); font-weight: 800; font-size: 13px; padding: 6px 10px; border-radius: 999px; transform: rotate(-3deg); }
.ar-mosaico figure:nth-child(even) figcaption { transform: rotate(2.5deg); background: var(--azul); color: #fff; }
.ar-m1 { grid-column: span 3; grid-row: span 2; }
.ar-m2 { grid-column: span 3; aspect-ratio: 16 / 10; }
.ar-m3 { grid-column: span 2; aspect-ratio: 3 / 4; }
.ar-m4 { grid-column: span 1; aspect-ratio: 1 / 2; }
.ar-m5 { grid-column: span 2; aspect-ratio: 4 / 5; }
.ar-m6 { grid-column: span 2; aspect-ratio: 4 / 5; }
.ar-m7 { grid-column: span 2; aspect-ratio: 4 / 5; }
@media (max-width: 760px) {
	.ar-mosaico { grid-template-columns: 1fr 1fr; }
	.ar-mosaico figure:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
	.ar-m1 { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 5; }
	.ar-m2 { grid-column: 1 / -1; }
	.ar-m3, .ar-m4, .ar-m5, .ar-m6, .ar-m7 { grid-column: auto; aspect-ratio: 3 / 4; }
}

/* Clientes */
.ar-clientes { background: var(--osso); padding-block: clamp(80px, 11vw, 150px); position: relative; overflow: hidden; }
.ar-clientes .ar-aspas { position: absolute; top: -.18em; left: -.04em; font-size: clamp(260px, 40vw, 640px); line-height: 1; color: var(--azul); font-weight: 900; opacity: .14; pointer-events: none; }
.ar-clientes blockquote { position: relative; margin: 0; font-size: clamp(28px, 4.4vw, 66px); line-height: 1.04; font-weight: 800; font-stretch: 112%; letter-spacing: -.02em; max-width: 22ch; }
.ar-clientes blockquote mark { background: var(--azul); color: #fff; padding: 0 .12em; border-radius: .12em; }
.ar-clientes cite { display: block; margin-top: 24px; font-style: normal; font-weight: 600; }
.ar-clientes cite span { color: var(--cinza); font-weight: 400; }
.ar-notas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: clamp(48px, 6vw, 80px); }
.ar-nota { margin: 0; background: #fff; padding: 22px; border-radius: 14px; font-size: 15px; box-shadow: 0 10px 30px rgba(11,20,32,.07); }
.ar-nota:nth-child(1) { transform: rotate(-2deg); } .ar-nota:nth-child(2) { transform: rotate(1.5deg) translateY(14px); } .ar-nota:nth-child(3) { transform: rotate(-1deg); } .ar-nota:nth-child(4) { transform: rotate(2.2deg) translateY(8px); }
.ar-nota b { display: block; color: var(--azul); letter-spacing: 2px; font-size: 12px; margin-bottom: 10px; }
.ar-nota figcaption { margin-top: 12px; font-size: 13px; color: var(--cinza); }
.ar-selo-c { display: flex; align-items: center; gap: 16px; margin-top: clamp(48px, 6vw, 72px); }
.ar-selo-c img { width: 110px; transform: rotate(-6deg); }
.ar-selo-c p { font-size: 14px; color: var(--cinza); max-width: 40ch; }
.ar-selo-c b { color: var(--tinta); display: block; font-size: 16px; }
@media (max-width: 860px) { .ar-notas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .ar-notas { grid-template-columns: 1fr; } .ar-nota { transform: none !important; } }

/* Contacto: inunda de azul */
.ar-contacto { background: var(--azul); color: #fff; padding-block: clamp(70px, 10vw, 140px) clamp(50px, 7vw, 90px); }
.ar-contacto h2 { font-size: clamp(48px, 15vw, 240px); }
.ar-contacto .ar-linha { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); margin-top: clamp(28px, 4vw, 48px); align-items: start; }
.ar-tel-grande { display: inline-block; font-stretch: 125%; font-weight: 900; font-size: clamp(30px, 5vw, 72px); letter-spacing: -.02em; text-decoration: none; font-variant-numeric: tabular-nums; user-select: all; border-bottom: 4px solid #fff; line-height: 1.05; }
.ar-contacto .ar-sub { margin-top: 18px; font-size: 17px; max-width: 40ch; }
.ar-contacto .ar-botoes { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.ar-contacto .ar-botoes a { background: #fff; color: var(--azul-noite); text-decoration: none; font-weight: 800; padding: 11px 18px; border-radius: 999px; font-size: 14px; transition: transform .2s; }
.ar-contacto .ar-botoes a:hover { transform: rotate(-3deg) scale(1.04); }
.ar-contacto dl { margin: 30px 0 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 18px; font-size: 15px; }
.ar-contacto dt { opacity: .75; }
.ar-contacto dd { margin: 0; font-weight: 700; }
.ar-form { background: #fff; color: var(--tinta); border-radius: 20px; padding: clamp(22px, 3vw, 36px); display: grid; grid-template-columns: 1fr 1fr; gap: 16px; transform: rotate(1deg); box-shadow: 0 24px 60px rgba(18,48,77,.35); }
.ar-form h3 { grid-column: 1 / -1; font-stretch: 125%; font-weight: 900; text-transform: uppercase; font-size: 22px; letter-spacing: -.01em; }
.ar-campo { display: grid; gap: 4px; min-width: 0; }
.ar-campo--todo { grid-column: 1 / -1; }
.ar-campo label { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ar-campo input, .ar-campo select, .ar-campo textarea { width: 100%; font: 500 16px/1.4 var(--letra); color: var(--tinta); background: var(--osso); border: 2px solid transparent; border-radius: 10px; padding: 11px 12px; }
.ar-campo textarea { min-height: 90px; resize: vertical; }
.ar-campo input:focus, .ar-campo select:focus, .ar-campo textarea:focus { outline: none; border-color: var(--azul); background: #fff; }
.ar-consent { grid-column: 1 / -1; display: flex; gap: 10px; font-size: 13px; color: var(--cinza); align-items: flex-start; }
.ar-consent input { margin-top: 2px; accent-color: var(--azul); }
.ar-envio { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.ar-envio small { color: var(--cinza); font-size: 13px; }
.ar-ok { grid-column: 1 / -1; color: var(--azul); font-weight: 800; }
@media (max-width: 860px) { .ar-contacto .ar-linha { grid-template-columns: 1fr; } .ar-form { transform: none; } }
@media (max-width: 480px) { .ar-form { grid-template-columns: 1fr; } }

.ar-rodape { background: var(--tinta); color: rgba(255,255,255,.65); padding-block: 34px 100px; font-size: 13px; }
.ar-rodape .ar-w { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ar-rodape a { text-decoration: none; }
.ar-rodape a:hover { color: #fff; }
.ar-rodape .ar-legal { flex-basis: 100%; font-size: 11px; opacity: .75; }
.ar-wa { position: fixed; z-index: 18; right: max(16px, calc(env(safe-area-inset-right, 0px) + 12px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: 54px; height: 54px; border-radius: 50%; background: #25d366; color: #fff; display: grid; place-items: center; box-shadow: 0 8px 22px rgba(11,20,32,.3); transition: transform .2s; }
.ar-wa:hover { transform: rotate(-10deg) scale(1.06); }
@media (prefers-reduced-motion: reduce) { .ar-fita div { animation: none; } html { scroll-behavior: auto; } body.innova-arrojada * { transition: none !important; } }

.ar-letras { position: relative; aspect-ratio: 1880 / 532; width: min(100% - 36px, 1400px); margin: clamp(10px, 2vw, 28px) auto clamp(10px, 2vw, 24px); }
.ar-letras video, .ar-letras .ar-azul { position: absolute; inset: 0; width: 100%; height: 100%; }
.ar-letras video { object-fit: cover; filter: brightness(.6) contrast(1.3) saturate(1.25); -webkit-mask: url(logo/logo-mascara.png) center / 100% 100% no-repeat; mask: url(logo/logo-mascara.png) center / 100% 100% no-repeat; }
.ar-letras .ar-azul { pointer-events: none; }

/* Base: neutraliza estilos que o tema ainda injete */
body.innova-arrojada { margin: 0; padding: 0; }
:where(body.innova-arrojada) :is(ul, ol) { margin: 0; padding: 0; }
body.innova-arrojada .ar-pill, body.innova-arrojada .ar-pill:hover { color: #fff !important; width: auto !important; min-width: 0 !important; height: auto !important; line-height: 1.2 !important; box-shadow: none; }
body.innova-arrojada .ar-botoes a, body.innova-arrojada .ar-botoes a:hover { color: var(--azul-noite) !important; }
.ar-form .ar-pill[disabled] { opacity: .6; cursor: progress; }
.in-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.ar-consent a { color: var(--tinta); }
.in-msg { grid-column: 1 / -1; color: var(--azul); font-weight: 800; }
.in-msg.in-erro { color: #b3261e; }
.ar-rodape .ar-legal a { color: inherit; }
.ar-contacto dd a { color: #fff; text-decoration: none; }
.admin-bar .ar-barra { top: 32px; }
@media (max-width: 782px) { .admin-bar .ar-barra { top: 46px; } }
