/* /*
Theme Name: Kalium Child
Theme URI: https://laborator.co/themes/kalium/
Description: Tema filho customizado para o projeto JLM / Landing Page
Author: Design Team
Author URI: https://laborator.co/
Template: kalium
Version: 1.0.0
Text Domain: kalium-child
*/

/* botão hero da home */

.jlm-btns-hero {
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  white-space: nowrap !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
.jlm-btns-hero a {
  display: inline-flex !important;
  align-items: center;
  vertical-align: middle;
  text-decoration: none !important;
}
.jlm-btns-hero .jlm-btn-hero-sec {
  margin-left: 12px !important;
}


.jlm-btn-hero {
  font-family: var(--jlm-font) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  padding: 14px 22px !important;
  border-radius: 8px !important;
  border-width: 0 !important;
  color: #1a1a1a !important;
  background-color: #fff !important;
}
.jlm-btn-hero:hover { background-color: #e2e2e2 !important; }

.jlm-btn-in { display: inline-flex; align-items: center; gap: 12px; }
.jlm-ico { position: relative; display: block; overflow: hidden; width: 17px; height: 8px; }
.jlm-ico svg { position: absolute; left: 0; top: 0; display: block; width: 17px; height: 8px; transition: transform .4s cubic-bezier(.4,0,.2,1); }
.jlm-ico svg + svg { top: 120%; }
.jlm-btn-hero:hover .jlm-ico svg { transform: translateY(-100%); }
.jlm-btn-hero:hover .jlm-ico svg + svg { transform: translateY(-120%); }

.jlm-btn-hero-sec {
  font-family: var(--jlm-font) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  padding: 14px 22px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, .65) !important;
  color: #fff !important;
  background-color: rgba(255, 255, 255, .14) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background-color .3s cubic-bezier(.4, 0, .2, 1),
              color .3s cubic-bezier(.4, 0, .2, 1),
              border-color .3s cubic-bezier(.4, 0, .2, 1);
}
.jlm-btn-hero-sec:hover {
  background-color: #fff !important;
  color: #1a1a1a !important;
  border-color: #fff !important;
}

/* ==========================================================================
   JLM HEADER 2026 (início) — template part do Kalium feito no Elementor
   Classes: .jlm-hd (container raiz), .jlm-hd__right, .jlm-hd__panel,
   .jlm-hd__nav (menu WP), .jlm-hd__social, .jlm-hd__actions
   Estados via JS: .sc (rolou), .hd-dk (sobre fundo escuro), .is-open (menu mobile)
   Fundo escuro forçado em uma seção: classe .jlm-dk ou atributo data-jlm-dark
   Fundo claro forçado: classe .jlm-lt ou atributo data-jlm-light
   ========================================================================== */
.jlm-hd{
  --jh-fg:#1a1a1a;--jh-dk:#57575b;--jh-wg:#25d366;--jh-px:clamp(16px,3.5vw,40px);
  --jh-t:rgba(255,255,255,.55);
  --jh-f:var(--jlm-font);
  --jh-mono:var(--jlm-font);
  --jh-e:cubic-bezier(.4,0,.2,1);
  position:fixed!important;top:0;left:0;right:0;
  width:100%!important;max-width:none!important;min-height:0!important;
  z-index:1000;
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  justify-content:space-between!important;align-items:center!important;
  gap:0!important;margin:0!important;box-sizing:border-box;
  padding:calc(16px + env(safe-area-inset-top,0px)) var(--jh-px) 16px!important;
  color:var(--jh-fg);font-family:var(--jh-f);font-weight:300;line-height:1.3;letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;
}
.jlm-hd.hd-dk{color:#fff;--jh-t:rgba(87,87,91,.5)}
.jlm-hd.is-open{color:#fff}
.jlm-hd::after{
  content:"";position:absolute;inset:0 0 -28px;z-index:-1;pointer-events:none;
  background:var(--jh-t);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  -webkit-mask:linear-gradient(#000 45%,transparent);mask:linear-gradient(#000 45%,transparent);
  opacity:0;transition:opacity .4s;
}
.jlm-hd.sc::after{opacity:1}
.jlm-hd .elementor-widget{margin:0!important}
.jlm-hd .elementor-widget-container{margin:0;padding:0}
.jlm-hd a{text-decoration:none;box-shadow:none}
.jlm-hd :focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* logo */
.jlm-hd .jlm-hd__lg{position:relative;display:block;width:150px;line-height:0}
.jlm-hd .jlm-hd__lg img{display:block;width:150px;max-width:none;height:auto;transition:opacity .3s}
.jlm-hd .jlm-hd__lb{position:absolute;left:0;top:0}
.jlm-hd .jlm-hd__lw{opacity:0}
.jlm-hd.hd-dk .jlm-hd__lw,.jlm-hd.is-open .jlm-hd__lw{opacity:1}
.jlm-hd.hd-dk .jlm-hd__lb,.jlm-hd.is-open .jlm-hd__lb{opacity:0}

/* lado direito */
.jlm-hd .jlm-hd__right,.jlm-hd .jlm-hd__panel{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;
  gap:12px!important;width:auto!important;max-width:none!important;min-height:0!important;
  padding:0!important;margin:0!important;flex:0 0 auto;
}
.jlm-hd .jlm-hd__right{position:static!important}

/* menu (widget de menu do WordPress) */
.jlm-hd .jlm-hd__nav{width:auto}
.jlm-hd .jlm-hd__nav .widgettitle,.jlm-hd .jlm-hd__nav .widget-title{display:none}
.jlm-hd .jlm-hd__nav ul{display:flex;align-items:center;gap:12px;margin:0!important;padding:0!important;list-style:none!important}
.jlm-hd .jlm-hd__nav li{margin:0!important;padding:0!important;list-style:none!important;border:0!important;display:block}
.jlm-hd .jlm-hd__nav li::before,.jlm-hd .jlm-hd__nav li::after{display:none!important}
.jlm-hd .jlm-hd__nav a{
  position:relative;display:block;padding:8px 14px!important;border:0!important;background:none!important;
  font:300 14px/1.3 var(--jh-f);letter-spacing:-.01em;color:inherit!important;
}
.jlm-hd .jlm-hd__nav a:hover,.jlm-hd .jlm-hd__nav a:focus{color:inherit!important;background:none!important}
.jlm-hd .jlm-hd__nav a svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.jlm-hd .jlm-hd__nav a rect{
  fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset .7s var(--jh-e);
}
.jlm-hd .jlm-hd__nav a:hover rect,.jlm-hd .jlm-hd__nav a:focus-visible rect{stroke-dashoffset:0}

/* ícones sociais */
.jlm-hd .jlm-hd__social,.jlm-hd .jlm-hd__actions{display:flex;align-items:center;gap:12px;width:auto}
.jlm-hd .jlm-hd__ic{display:flex;padding:6px;border-radius:8px;color:inherit;transition:color .3s}
.jlm-hd .jlm-hd__ic svg{display:block;width:24px;height:24px}
.jlm-hd .jlm-hd__ic--wa:hover,.jlm-hd .jlm-hd__ic--wa:focus-visible{color:var(--jh-wg)}
.jlm-hd .jlm-hd__ic--ig:hover,.jlm-hd .jlm-hd__ic--ig:focus-visible{color:#e1306c}

/* botão Conversar */
.jlm-hd .jlm-hd__btn{
  display:inline-flex;align-items:center;gap:12px;cursor:pointer;
  font:500 12px/1 var(--jh-mono);letter-spacing:0;text-transform:uppercase;white-space:nowrap;
  padding:14px 22px;border-radius:8px;border:1px solid transparent;
  background:var(--jh-fg);color:#fff;
  transition:background .3s var(--jh-e),color .3s var(--jh-e);
}
.jlm-hd.hd-dk .jlm-hd__btn,.jlm-hd.is-open .jlm-hd__btn{background:#fff;color:var(--jh-fg)}
.jlm-hd .jlm-hd__btn:hover,.jlm-hd.hd-dk .jlm-hd__btn:hover,.jlm-hd.is-open .jlm-hd__btn:hover,.jlm-hd .jlm-hd__btn:focus-visible{background:var(--jh-wg);color:#0a1f10}

/* hambúrguer (só no celular/tablet) */
.jlm-hd .jlm-hd__burger{
  display:none;position:relative;width:40px;height:40px;padding:0!important;margin:0;cursor:pointer;
  background:none!important;border:0!important;border-radius:8px;box-shadow:none!important;color:inherit;
  -webkit-appearance:none;appearance:none;
}
.jlm-hd .jlm-hd__burger span{
  position:absolute;left:9px;right:9px;height:1.5px;background:currentColor;border-radius:2px;
  transition:transform .35s var(--jh-e),top .35s var(--jh-e);
}
.jlm-hd .jlm-hd__burger span:nth-child(1){top:13px}
.jlm-hd .jlm-hd__burger span:nth-child(2){top:19.25px;transition:opacity .2s}
.jlm-hd .jlm-hd__burger span:nth-child(3){top:25.5px}
.jlm-hd.is-open .jlm-hd__burger span:nth-child(1){top:19.25px;transform:rotate(45deg)}
.jlm-hd.is-open .jlm-hd__burger span:nth-child(2){opacity:0}
.jlm-hd.is-open .jlm-hd__burger span:nth-child(3){top:19.25px;transform:rotate(-45deg)}

/* menu aberto: barra sólida */
.jlm-hd.is-open::after{opacity:1;inset:0;background:var(--jh-dk);-webkit-mask:none;mask:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html.jlm-hd-lock{overflow:hidden}

/* barra de admin do WordPress e editor do Elementor */
body.admin-bar .jlm-hd{top:32px}
@media (max-width:782px){body.admin-bar .jlm-hd{top:46px}}
.elementor-editor-active .jlm-hd{position:relative!important;top:auto}

/* tablet / celular: menu hambúrguer */
@media (max-width:900px){
  .jlm-hd .jlm-hd__burger{display:inline-block}
  .jlm-hd .jlm-hd__panel{
    display:none!important;position:absolute;top:100%;left:0;right:0;
    flex-direction:column!important;align-items:flex-start!important;gap:20px!important;
    padding:8px var(--jh-px) 32px!important;max-height:calc(100vh - 80px);max-height:calc(100svh - 80px);overflow:auto;
    background:var(--jh-dk);color:#f9f9f9;
  }
  .jlm-hd.is-open .jlm-hd__panel{display:flex!important;animation:jlmHdIn .35s var(--jh-e)}
  .jlm-hd .jlm-hd__nav,.jlm-hd .jlm-hd__nav ul{width:100%}
  .jlm-hd .jlm-hd__nav ul{flex-direction:column;align-items:flex-start;gap:0}
  .jlm-hd .jlm-hd__nav li{width:100%;border-bottom:1px solid rgba(255,255,255,.18)!important}
  .jlm-hd .jlm-hd__nav a{padding:16px 0!important;font-size:24px;line-height:1.05;letter-spacing:-.02em}
  .jlm-hd .jlm-hd__nav a svg{display:none}
  .jlm-hd .jlm-hd__lg,.jlm-hd .jlm-hd__lg img{width:120px}
  .jlm-hd .jlm-hd__btn{padding:12px 16px}
  .jlm-hd .jlm-hd__right{gap:8px!important}
  .jlm-hd .jlm-hd__actions{gap:4px}
}
@keyframes jlmHdIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .jlm-hd,.jlm-hd *,.jlm-hd::after{transition:none!important;animation:none!important}
}
/* JLM HEADER 2026 (fim) */


/* ==========================================================================
   JLM HERO SLIDER 2026 (início) — LayerSlider "Hero Home JLM 2026" (ID 5)
   Cada slide tem uma camada HTML com a classe .jlm-hs (gradiente + texto + botões)
   ========================================================================== */
.jlm-hs-slider{background:#57575b}
.jlm-hs{
  position:relative;width:100%;height:100%;color:#fff;
  font-family:var(--jlm-font);font-weight:300;letter-spacing:-.01em;
}
.jlm-hs::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.5) 40%,rgba(0,0,0,0) 75%),
    linear-gradient(to right,rgba(0,0,0,.4),rgba(0,0,0,0) 65%),
    linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,0) 22%),
    rgba(0,0,0,.12);
}
.jlm-hs__in{
  position:relative;z-index:1;box-sizing:border-box;width:100%;height:100%;max-width:1760px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;
  padding:120px clamp(16px,3.5vw,40px) 48px;white-space:normal;text-align:left;
}
.jlm-hs .jlm-hs__t{
  margin:0!important;padding:0!important;max-width:20ch;color:#fff!important;
  font-family:var(--jlm-font)!important;
  font-size:clamp(34px,5.2vw,72px)!important;font-weight:300!important;line-height:.95!important;
  letter-spacing:-.03em!important;text-transform:none!important;text-shadow:0 1px 24px rgba(0,0,0,.4);
}
.jlm-hs .jlm-hs__p{
  margin:24px 0 32px!important;max-width:46ch;color:#fff!important;opacity:.88;
  font-family:var(--jlm-font)!important;
  font-size:21px!important;font-weight:300!important;line-height:1.3!important;text-shadow:0 1px 24px rgba(0,0,0,.4);
}
.jlm-hs .jlm-hs__bt{display:flex;gap:12px;flex-wrap:wrap}
.jlm-hs .jlm-hs__cap{
  margin:0!important;color:#fff!important;opacity:.8;text-shadow:0 1px 24px rgba(0,0,0,.4);
  font:400 12px/1.3 var(--jlm-font)!important;
}
@media (max-width:700px){
  .jlm-hs__in{padding-top:100px;padding-bottom:32px;align-items:flex-end}
  .jlm-hs .jlm-hs__p{font-size:17px!important;margin:16px 0 24px!important}
  .jlm-hs .jlm-hs__cap{display:none}
}
/* JLM HERO SLIDER 2026 (fim) */


/* JLM HERO MOBILE (início) — ATIVO. Slider ID 4: no celular/tablet (até 900px) some o texto de desktop (.jlm-hdk) e entra a camada .jlm-hm com fontes fixas */
.jlm-hero .jlm-hm{display:none!important}
.jlm-hs--m::before{display:none!important}
@media (max-width:900px){
  .jlm-hero .jlm-hdk{display:none!important}
  .jlm-hero .jlm-hm{display:block!important}
  .jlm-hs--m .jlm-hs__t{font-size:clamp(28px,8.4vw,44px)!important}
  .jlm-hs--m .jlm-hs__p{font-size:17px!important;margin:16px 0 24px!important}
  .jlm-hs--m .jlm-hs__in{padding-top:100px;padding-bottom:32px}
}
/* JLM HERO MOBILE (fim) */



/* JLM sanfona home */

/* Contador automático da sanfona */
.fc-sanf .e-n-accordion {
    counter-reset: sanfona;
}

/* Linha de cada item */
.fc-sanf .e-n-accordion-item-title {
    display: flex !important;
    align-items: center !important;
    width: 100%;
}

/* Numeração */
.fc-sanf .e-n-accordion-item-title {
    counter-increment: sanfona;
}

.fc-sanf .e-n-accordion-item-title-header {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0;
}

/* Número em uma coluna fixa */
.fc-sanf .e-n-accordion-item-title-header::before {
    content: counter(sanfona, decimal-leading-zero);
    display: block;
    flex: 0 0 34px;
    width: 34px;
    font-size: 11px;
    font-weight: 400;
    color: #777;
    line-height: 1.4;
}

/* Ícone sempre à direita */
.fc-sanf .e-n-accordion-item-title-icon {
    margin-left: auto !important;
    flex: 0 0 auto !important;
}





/* JLM acf blog */
.veiculo-publicacao {
    font-size: 12px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 8px;
}


.leia-mais-post a {
    display: inline-block;
    margin-top: 20px;
    font-size: 16px;
    padding-bottom: 6px;
    border-bottom: 1px solid rgb(170, 170, 170);
    color: #222;
}

.leia-mais-post a::after {
    content: " ↗";
    display: inline-block;
    margin-left: 5px;
    transition: transform 0.2s ease;
}

.leia-mais-post a:hover {
    font-weight: 900;
}

.leia-mais-post a:hover::after {
    transform: translate(2px, -2px);
}


/* JLM acf blog */


/* JLM contador */
   
@media (max-width: 767px) {
    .page-id-10156 .elementor-widget-counter .elementor-counter-number-wrapper {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0px 10px;
    }

    .page-id-10156 .elementor-widget-counter .elementor-counter-number {
        width: auto !important;
    }
}

/* JLM contador */






/* ==========================================================================
   JLM PROJETO 2026 (início) — layout das páginas de projeto (Portfólio)
   Markup: Snippet do Kalium "JLM — Layout dos projetos" (.jlm-pj)
   Carrossel e lightbox: js/jlm.js (bloco JLM PROJETO 2026)
   ========================================================================== */
body:has(.jlm-pj){overflow-x:hidden;overflow-x:clip}
.jlm-pj{
  --pj-px:clamp(16px,3.5vw,40px);--pj-ink:#1a1a1a;--pj-mute:#5a5a5a;--pj-line:#d9d9d9;--pj-miss:#ff00c8;
  --pj-max:1400px;--pj-e:cubic-bezier(.4,0,.2,1);
  position:relative;width:100vw;margin-left:calc(50% - 50vw);
  color:var(--pj-ink);font-weight:300;letter-spacing:-.01em;background:#fff;overflow-x:clip;
}
.jlm-pj *,.jlm-pj *::before,.jlm-pj *::after{box-sizing:border-box}
.jlm-pj a{text-decoration:none;background-image:none;box-shadow:none}
.jlm-pj img{max-width:none}

/* imagem de destaque */
.jlm-pj__hero{position:relative;height:clamp(320px,46vh,560px);overflow:hidden;background:#d9d9d9}
.jlm-pj__hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.jlm-pj__hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,0) 38%)}
.jlm-pj__down{position:absolute;left:50%;bottom:20px;z-index:2;display:grid;place-items:center;width:40px;height:40px;transform:translateX(-50%);color:#fff;opacity:.85;transition:opacity .3s,transform .3s var(--pj-e)}
.jlm-pj__down:hover{opacity:1;transform:translateX(-50%) translateY(3px);color:#fff}

/* título, dados e tabela */
.jlm-pj__info{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start;
  max-width:var(--pj-max);margin:0 auto;padding:clamp(40px,6vw,88px) var(--pj-px);
}
.jlm-pj .jlm-pj__title{
  margin:0 0 20px!important;padding:0!important;color:var(--pj-ink)!important;
  font-size:clamp(34px,4.2vw,56px)!important;font-weight:300!important;line-height:1.05!important;
  letter-spacing:-.02em!important;text-transform:none!important;
}
.jlm-pj__meta{list-style:none;margin:0;padding:0;font-size:clamp(16px,1.5vw,20px);line-height:1.8}
.jlm-pj__meta li{margin:0;padding:0;list-style:none}
.jlm-pj__meta span{text-transform:uppercase}
.jlm-pj__desc p{margin:0 0 1em;font-size:17px;line-height:1.7;color:var(--pj-mute)}
.jlm-pj__specs{margin:0;border-top:1px solid var(--pj-line)}
.jlm-pj__desc + .jlm-pj__specs{margin-top:32px}
.jlm-pj__spec{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;margin:0;padding:18px 0;border-bottom:1px solid var(--pj-line)}
.jlm-pj__spec dt{margin:0;font-size:14px;color:var(--pj-mute);font-weight:300}
.jlm-pj__spec dd{margin:0;font-size:15px;font-weight:400;color:var(--pj-ink)}

/* títulos de seção */
.jlm-pj .jlm-pj__h2{
  max-width:var(--pj-max);margin:0 auto 24px!important;padding:0 var(--pj-px)!important;color:var(--pj-ink)!important;
  font-size:clamp(24px,2.4vw,32px)!important;font-weight:300!important;line-height:1.2!important;
  letter-spacing:-.01em!important;text-transform:none!important;
}
.jlm-pj .jlm-pj__h2--sm{font-size:clamp(20px,1.8vw,24px)!important;padding:0!important}

/* carrossel */
.jlm-pj__gal{padding:0 0 clamp(40px,5vw,72px)}
.jlm-pj__car{position:relative}
.jlm-pj__track{
  display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;padding:0 var(--pj-px);
  scroll-snap-type:x proximity;scroll-padding-left:var(--pj-px);scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;outline:none;
}
.jlm-pj__track::-webkit-scrollbar{display:none}
.jlm-pj__track:focus-visible{outline:2px solid var(--pj-ink);outline-offset:-2px}
.jlm-pj__track.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.jlm-pj__slide{position:relative;flex:0 0 auto;display:block;height:clamp(220px,30vw,420px);line-height:0;background:#e6e6e6;scroll-snap-align:start}
.jlm-pj__slide img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.jlm-pj__nav{
  position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;
  transform:translateY(-50%);border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--pj-ink);
  box-shadow:0 2px 12px rgba(0,0,0,.2);cursor:pointer;transition:opacity .3s,background .3s;
}
.jlm-pj__nav:hover{background:#fff}
.jlm-pj__nav--prev{left:var(--pj-px)}
.jlm-pj__nav--next{right:var(--pj-px)}
.jlm-pj__nav[disabled]{opacity:0;pointer-events:none}

/* outros projetos */
.jlm-pj__rel{max-width:var(--pj-max);margin:0 auto;padding:clamp(32px,4vw,56px) var(--pj-px) clamp(56px,7vw,112px);border-top:1px solid var(--pj-line)}
.jlm-pj__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.jlm-pj__card{display:block;color:var(--pj-ink)}
.jlm-pj__card:hover{color:var(--pj-ink)}
.jlm-pj__card-media{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#e6e6e6}
.jlm-pj__card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--pj-e)}
.jlm-pj__card:hover .jlm-pj__card-media img{transform:scale(1.03)}
.jlm-pj__card-info{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;line-height:1.3}
.jlm-pj__card-title{font-weight:400;text-transform:uppercase;letter-spacing:0}
.jlm-pj__card-cat{color:var(--pj-mute);text-align:right}

/* lightbox */
.jlm-lb{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;background:rgba(10,10,10,.94);color:#fff}
.jlm-lb.is-open{display:flex}
.jlm-lb__stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:56px 72px}
.jlm-lb__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.jlm-lb__btn{
  position:absolute;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;
  border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:background .3s;
}
.jlm-lb__btn:hover,.jlm-lb__btn:focus-visible{background:rgba(255,255,255,.28)}
.jlm-lb__x{top:16px;right:16px}
.jlm-lb__p{left:16px;top:50%;transform:translateY(-50%)}
.jlm-lb__n{right:16px;top:50%;transform:translateY(-50%)}
.jlm-lb__c{position:absolute;left:0;right:0;bottom:16px;text-align:center;font:400 12px/1 var(--jlm-font);letter-spacing:.04em;opacity:.8}
html.jlm-lb-lock{overflow:hidden}

/* tablet e celular */
@media (max-width:900px){
  .jlm-pj__info{grid-template-columns:1fr;gap:32px}
  .jlm-pj__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .jlm-pj__spec{grid-template-columns:110px minmax(0,1fr)}
  .jlm-pj__nav{width:38px;height:38px}
  .jlm-lb__stage{padding:56px 12px}
  .jlm-lb__p,.jlm-lb__n{top:auto;bottom:12px;transform:none}
  .jlm-lb__p{left:12px}
  .jlm-lb__n{right:12px}
}
@media (prefers-reduced-motion:reduce){
  .jlm-pj *,.jlm-lb *{transition:none!important}
  .jlm-pj__track{scroll-behavior:auto}
}

/* --------------------------------------------------------------------------
   TEMPORÁRIO: fundo magenta onde faltar o arquivo da imagem (cópia de testes).
   Para desligar, apague este bloco até "FIM TEMPORÁRIO".
   -------------------------------------------------------------------------- */
.jlm-pj__hero,.jlm-pj__slide,.jlm-pj__card-media{background:var(--pj-miss)}
.jlm-lb__img.is-missing{width:min(80vw,900px);height:min(60vh,600px);background:#ff00c8;color:transparent}
/* FIM TEMPORÁRIO */
/* JLM PROJETO 2026 (fim) */


/* JLM PROJETO 2026 — cabeçalho (início): no topo da página de projeto, gradiente escuro atrás do cabeçalho branco para ele aparecer mesmo sobre foto clara */
body:has(.jlm-pj) .jlm-hd.hd-dk:not(.sc):not(.is-open){background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0))!important}
body:has(.jlm-pj) .jlm-hd{z-index:2000}
/* JLM PROJETO 2026 — cabeçalho (fim) */


/* ==========================================================================
   JLM FONTE 2026 (início) — Kumbh Sans hospedada no tema filho (fonte variável, pesos 100–900)
   Arquivos: /fonts/KumbhSans-latin.woff2 e KumbhSans-latin-ext.woff2 (licença OFL)
   Para trocar a fonte do site inteiro, altere só a variável --jlm-font.
   ========================================================================== */
@font-face{font-family:"Kumbh Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/KumbhSans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Kumbh Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/KumbhSans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--jlm-font:"Kumbh Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
html body,
html body :is(h1,h2,h3,h4,h5,h6,p,li,a,label,th,td,blockquote,button,input,select,textarea){font-family:var(--jlm-font)}
/* JLM FONTE 2026 (fim) */


/* ==========================================================================
   JLM FAIXA 2026 (início) — faixa escura sob o cabeçalho
   O cabeçalho é branco no topo; sem uma faixa escura ele some em páginas de fundo branco.
   Vale para todas as páginas, exceto: home, página de projeto (.jlm-pj), páginas com o hero
   do slider (.jlm-hero) e qualquer página que tenha um elemento com a classe .jlm-sem-faixa.
   Cor e altura: variáveis --jlm-band e --jlm-band-h.
   ========================================================================== */
:root{--jlm-band:#333;--jlm-band-h:10em}
@media (max-width:700px){:root{--jlm-band-h:7.5em}}
body:not(.home):not(:has(.jlm-pj,.jlm-hero,.jlm-sem-faixa)){overflow-x:hidden;overflow-x:clip}
body:not(.home):not(:has(.jlm-pj,.jlm-hero,.jlm-sem-faixa)) .content-wrapper{position:relative;padding-top:var(--jlm-band-h)}
body:not(.home):not(:has(.jlm-pj,.jlm-hero,.jlm-sem-faixa)) .content-wrapper::before{
  content:"";position:absolute;top:0;left:50%;width:100vw;margin-left:-50vw;height:var(--jlm-band-h);
  background:var(--jlm-band);pointer-events:none;
}
/* JLM FAIXA 2026 (fim) */
