/* Stratechna Layouts 0.7.0 — cabeçalho inteligente/transparente, logótipo SVG e peças decorativas.
   As classes usam-se no Elementor em Avançado › Classes CSS. Tudo funciona sem JavaScript; o JS só junta movimento. */

/* Cabeçalho transparente por cima do herói; com fixo, ganha fundo ao rolar */
.sl-cabecalho-transparente .sl-cabecalho:not(.sl-rolado) .sl-linha--principal,.sl-cabecalho-transparente .sl-cabecalho:not(.sl-rolado) .sl-linha--base{color:var(--sl-cab-transp-cor);background:transparent}
.sl-cabecalho-transparente.sl-cabecalho-fixo .sl-cabecalho{position:fixed;top:0;left:0;right:0}
.admin-bar.sl-cabecalho-transparente.sl-cabecalho-fixo .sl-cabecalho{top:32px}
.sl-cabecalho-transparente .sl-cabecalho.sl-rolado{background:var(--sl-cab-principal-fundo)}
.sl-cabecalho-transparente .sl-cabecalho:not(.sl-rolado){box-shadow:none}
.sl-cabecalho{transition:transform .35s cubic-bezier(.2,.7,.2,1),background-color .3s,box-shadow .3s}
/* Inteligente: esconde ao descer, volta ao subir */
.sl-cabecalho-inteligente .sl-cabecalho.sl-escondido{transform:translateY(-110%)}
.sl-cabecalho-inteligente:not(.sl-cabecalho-transparente) .sl-cabecalho{position:sticky}
@media (max-width:782px){.admin-bar.sl-cabecalho-fixo .sl-cabecalho{top:0}}

/* Logótipo desenhado (SVG em linha, segue a cor do texto do cabeçalho) */
.sl-logo-svg{display:inline-flex;color:inherit;line-height:0}
.sl-logo-svg svg{width:var(--sl-logo);height:auto;display:block}
@media (max-width:1024px){.sl-logo-svg svg{width:var(--sl-logo-movel)}}
.sl-rodape .sl-logo-svg:not(.sl-logo-svg--nome) svg{width:min(var(--sl-logo),220px)}
/* Com o nome ao lado, a largura do logótipo é a da marca (ícone) */
.sl-logo-svg--nome{align-items:center;gap:.7em;line-height:1;text-decoration:none}
.sl-logo-svg--nome svg{width:auto;height:calc(var(--sl-logo) * .28)}
@media (max-width:1024px){.sl-logo-svg--nome svg{height:calc(var(--sl-logo-movel) * .3)}}
.sl-logo-nome{display:flex;flex-direction:column;gap:.3em;font-family:var(--sl-fonte-titulos);white-space:nowrap}
.sl-logo-nome__t{font-size:var(--sl-logo-nome-tamanho,1.45rem);letter-spacing:var(--sl-logo-nome-espaco,.04em);text-transform:var(--sl-logo-nome-maiusculas,none)}
.sl-logo-nome__s{font-family:var(--sl-fonte-corpo);font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;opacity:.7}

/* Sobretítulo com traços dos lados */
.sl-sobre .elementor-heading-title,.sl-sobre:not(.elementor-widget){display:inline-flex;align-items:center;gap:.9em;letter-spacing:.32em;text-transform:uppercase;font-size:.78rem;font-weight:600}
.sl-sobre .elementor-heading-title::before,.sl-sobre .elementor-heading-title::after{content:"";width:2.4em;height:1px;background:currentColor;opacity:.7}
.sl-sobre--esq .elementor-heading-title::after{display:none}
/* Letra manuscrita (usa a família --sl-fonte-script, definida pelo Starter) */
.sl-script .elementor-heading-title,.sl-script:not(.elementor-widget){font-family:var(--sl-fonte-script,cursive)!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important}
/* Texto gigante em contorno (palavra de fundo) */
.sl-contorno .elementor-heading-title{color:transparent!important;-webkit-text-stroke:1px currentColor;font-size:clamp(4rem,14vw,13rem)!important;line-height:.85!important;white-space:nowrap;opacity:.35}
.sl-contorno{pointer-events:none;user-select:none;overflow:hidden}
/* Moldura deslocada atrás de uma imagem */
.sl-moldura{position:relative;isolation:isolate}
.sl-moldura::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--sl-primaria);z-index:-1;border-radius:inherit}
.sl-moldura--esq::before{inset:22px 22px -22px -22px}
@media (max-width:767px){.sl-moldura::before{inset:12px -10px -12px 10px}}
/* Imagem em arco (topo redondo) */
.sl-arco img,.sl-arco.e-con{border-radius:999px 999px 0 0!important;overflow:hidden}
/* Linha fina centrada */
.sl-fio{width:1px;height:64px;background:currentColor;opacity:.4;margin-inline:auto}
/* Grão de película sobre uma secção (textura sem imagem) */
.sl-grao{position:relative;isolation:isolate}
.sl-grao::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;mix-blend-mode:overlay;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* Cortes de secção: onda e rasgado (máscara; a secção de baixo «entra» por cima) */
.sl-onda-baixo{-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 38px) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1200v8c-150 30-300 30-450 12S450-6 300 12 75 40 0 22z'/%3E%3C/svg%3E") bottom/100% 40px no-repeat;mask:linear-gradient(#000 0 0) top/100% calc(100% - 38px) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1200v8c-150 30-300 30-450 12S450-6 300 12 75 40 0 22z'/%3E%3C/svg%3E") bottom/100% 40px no-repeat}
.sl-rasgado-baixo{-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 28px) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1200v14l-40 9-35-12-52 15-38-10-47 13-44-9-50 12-31-14-58 10-42-7-49 15-36-12-55 9-40-11-48 14-33-8-57 12-45-13-39 10-51-6-42 13-37-9-56 11-43-12-50 14-38-7-46 10L0 18z'/%3E%3C/svg%3E") bottom/100% 30px no-repeat;mask:linear-gradient(#000 0 0) top/100% calc(100% - 28px) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1200v14l-40 9-35-12-52 15-38-10-47 13-44-9-50 12-31-14-58 10-42-7-49 15-36-12-55 9-40-11-48 14-33-8-57 12-45-13-39 10-51-6-42 13-37-9-56 11-43-12-50 14-38-7-46 10L0 18z'/%3E%3C/svg%3E") bottom/100% 30px no-repeat}
/* Selo redondo a rodar ([sl_selo texto="…"]) */
.sl-selo{display:inline-grid;place-items:center;width:var(--sl-selo,140px);aspect-ratio:1;position:relative;color:var(--sl-primaria)}
.sl-selo svg{position:absolute;inset:0;width:100%;height:100%;animation:sl-rodar 22s linear infinite}
.sl-selo text{font-size:10.5px;letter-spacing:3.2px;text-transform:uppercase;fill:currentColor;font-weight:600}
.sl-selo__centro{font-family:var(--sl-fonte-titulos);font-size:calc(var(--sl-selo,140px) * .2);line-height:1}
@keyframes sl-rodar{to{transform:rotate(1turn)}}
/* Botão com seta que avança no hover */
.sl-seta .elementor-button-text::after{content:"→";display:inline-block;margin-left:.6em;transition:transform .25s}
.sl-seta .elementor-button:hover .elementor-button-text::after{transform:translateX(5px)}
/* Botão só com sublinhado */
.sl-link .elementor-button{background:transparent!important;padding:.5em 0!important;border-radius:0!important;border-width:0 0 1px!important;border-style:solid!important;border-color:currentColor!important;color:inherit}

/* Entrada ao rolar: só esconde quando há JS (html.sl-js) e o utilizador aceita movimento */
@media (prefers-reduced-motion:no-preference){
	.sl-js .sl-revelar{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--sl-atraso,0s)}
	.sl-js .sl-revelar--esq{transform:translateX(-36px)}.sl-js .sl-revelar--dir{transform:translateX(36px)}
	.sl-js .sl-revelar--zoom{transform:scale(.94)}
	.sl-js .sl-revelar.sl-visto{opacity:1;transform:none}
	.sl-js .sl-cortina{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1)}
	.sl-js .sl-cortina.sl-visto{clip-path:inset(0)}
	.sl-paralaxe img{transform:translateY(var(--sl-px,0));will-change:transform}
}
@media (prefers-reduced-motion:reduce){.sl-selo svg{animation:none}}
