:root{--diviaGDPRLight:#ffffff;--diviaGDPRDark:#393d4d}#diviaGDPR *{margin:0;padding:0;text-decoration:none;list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}#diviaGDPR a,#diviaGDPR button{cursor:pointer;color:inherit;font-family:inherit}#diviaGDPR button{outline:0;border:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;appearance:none}#diviaGDPR em,#diviaGDPR strong{font-weight:700;font-family:inherit}#diviaGDPR a:hover{text-decoration:none;cursor:pointer}#diviaGDPR a:focus,#diviaGDPR input:focus{outline:0;list-style:none}#diviaGDPR.light{background-color:#fff;background-color:var(--diviaGDPRLight);color:#393d4d;color:var(--diviaGDPRDark)}#diviaGDPR.light p,#diviaGDPR.light ul{color:#393d4d;color:var(--diviaGDPRDark)}#diviaGDPR.light h5{color:var(--diviaGDPRDark)}#diviaGDPR.light button#cookieReject{background:#fff;background:var(--diviaGDPRLight)}#diviaGDPR.dark{background-color:#393d4d;background-color:var(--diviaGDPRDark);color:#fff;color:var(--diviaGDPRLight)}#diviaGDPR.dark h5,#diviaGDPR.dark p,#diviaGDPR.dark ul{color:#fff;color:var(--diviaGDPRLight)}#diviaGDPR.dark button#cookieReject{background:0 0;color:#fff;color:var(--diviaGDPRLight);border:1px solid #fff;border:1px solid var(--diviaGDPRLight)}#diviaGDPR{-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;padding:15px;border-radius:10px;-webkit-box-shadow:0 6px 6px rgba(0,0,0,.25);box-shadow:0 6px 6px rgba(0,0,0,.25);font-family:inherit;z-index:999997}#diviaGDPR svg{display:block}#diviaGDPR.display-left{left:70px;bottom:70px;max-width:395px}#diviaGDPR.display-right{right:30px;bottom:30px;max-width:395px}#diviaGDPR.display-top{top:30px;width:800px;left:50%;margin-left:-400px}#diviaGDPR.display-bottom{bottom:30px;width:800px;left:50%;margin-left:-400px}#diviaGDPR.display-bottom .content-wrap,#diviaGDPR.display-top .content-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#diviaGDPR.display-bottom .msg-wrap,#diviaGDPR.display-top .msg-wrap{max-width:65%;width:100%;margin-bottom:0}#diviaGDPR.display-bottom #cookieSettings,#diviaGDPR.display-top #cookieSettings{margin-bottom:0}#diviaGDPR.display-bottom #cookieTypes,#diviaGDPR.display-top #cookieTypes{margin-top:20px}#diviaGDPR .btn-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-weight:700;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 -5px;-ms-flex-wrap:wrap;flex-wrap:wrap}#diviaGDPR .title-wrap,#diviaGDPR h5,#diviaGDPR.display-bottom.full-width-true .btn-wrap button,#diviaGDPR.display-top.full-width-true .btn-wrap button{margin-bottom:10px}#diviaGDPR .btn-wrap button{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 7px;margin:0 5px 10px;border-radius:20px;cursor:pointer;white-space:nowrap;min-width:130px;line-height:36px;border:none;font-family:inherit;font-size:16px;-webkit-transition:-webkit-box-shadow .3s;transition:box-shadow .3s;-o-transition:box-shadow .3s;transition:box-shadow .3s,-webkit-box-shadow .3s}#diviaGDPR .btn-wrap button:hover{-webkit-transition:-webkit-box-shadow .4s cubic-bezier(.25, .8, .25, 1),-webkit-transform .4s cubic-bezier(.25, .8, .25, 1);transition:box-shadow .4s cubic-bezier(.25, .8, .25, 1),transform .4s cubic-bezier(.25, .8, .25, 1),-webkit-box-shadow .4s cubic-bezier(.25, .8, .25, 1),-webkit-transform .4s cubic-bezier(.25, .8, .25, 1);-o-transition:box-shadow .4s cubic-bezier(.25, .8, .25, 1),transform .4s cubic-bezier(.25, .8, .25, 1);-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.3);box-shadow:0 2px 5px 0 rgba(0,0,0,.3);-webkit-transform:translate3d(0,-1px,0);transform:translate3d(0,-1px,0)}#diviaGDPR #cookieSettings{font-size:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;font-weight:400;margin-bottom:20px;text-decoration:underline}#diviaGDPR #cookieSettings svg{vertical-align:middle;margin-right:8px}#diviaGDPR h4{font-family:inherit;font-weight:700;font-size:18px}#diviaGDPR .title-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#diviaGDPR .title-wrap svg{margin-right:10px}#diviaGDPR h5{font-family:inherit;font-weight:700;font-size:12px;text-transform:uppercase}#diviaGDPR p,#diviaGDPR ul{font-size:14px;margin-bottom:10px}#diviaGDPR p:last-child{margin-bottom:0;text-align:left}#diviaGDPR li{width:49%;display:inline-block}#diviaGDPR a{text-decoration:underline;padding-left:20px;font-size:14px;-webkit-transition:.3s ease-in;-o-transition:.3s ease-in;transition:.3s ease-in}#cookieTypes label{font-size:13px}#diviaGDPR button:disabled{opacity:.3}#diviaGDPR input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeSpeed;width:14px;height:14px;margin:4px 10px 0 0;display:block;float:left;position:relative;outline:0;border:none}#diviaGDPR input[type=checkbox]:checked:after{background:#d3d3d3;content:"\2714";color:grey}#diviaGDPR input[type=checkbox]:after{content:"";vertical-align:middle;text-align:center;line-height:13px;position:absolute;cursor:pointer;height:14px;width:14px;left:0;top:0;font-size:10px;background:#d3d3d3}#diviaGDPR.display-bottom.full-width-true,#diviaGDPR.display-top.full-width-true{width:100%;max-width:100%;left:auto;right:auto;bottom:auto;top:0;border-radius:0;margin:auto}#diviaGDPR.display-bottom.full-width-true{bottom:0;top:auto;-webkit-box-shadow:0 -3px 3px rgb(0 0 0 / 25%);box-shadow:0 -3px 3px rgb(0 0 0 / 25%)}#diviaGDPR.display-bottom.full-width-true .title-wrap,#diviaGDPR.display-top.full-width-true .title-wrap{display:none}@media only screen and (max-width:800px){#diviaGDPR.display-bottom,#diviaGDPR.display-top{width:100%;max-width:100%;left:auto;right:auto;bottom:auto;top:0;border-radius:0;margin:auto}#diviaGDPR.display-bottom{bottom:0;top:auto;-webkit-box-shadow:0 -3px 3px rgb(0 0 0 / 25%);box-shadow:0 -3px 3px rgb(0 0 0 / 25%)}#diviaGDPR.display-bottom .btn-wrap button,#diviaGDPR.display-top .btn-wrap button{margin-bottom:10px}#diviaGDPR.display-bottom .msg-wrap,#diviaGDPR.display-top .msg-wrap{margin-right:20px}}#divia-gdpr{position:fixed;bottom:20px;height:55px;width:55px;left:20px;cursor:pointer;background:#000;opacity:.5;border-radius:50%;text-align:center;z-index:9999;overflow:hidden;-moz-box-shadow:0 6px 5px #595959;-webkit-box-shadow:0 6px 5px #595959;box-shadow:0 6px 5px #595959}#divia-gdpr img{width:43px;padding-top:10px}#divia-gdpr:hover{opacity:1}@media only screen and (max-width :800px){#divia-gdpr{bottom:80px}#diviaGDPR.display-left,#diviaGDPR.display-right{bottom:141px}#diviaGDPR{padding:10px}#diviaGDPR #cookieSettings{margin-bottom:5px}#diviaGDPR.display-left{max-width:315px}#diviaGDPR .btn-wrap button{line-height:30px;margin:0 5px 5px}}

  :root{
    --amarelo:#FFC800;
    --amarelo-escuro:#C48E00;
    --tracejado:#767171;
    --topbar-h:64px;
    --band-h:79px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:var(--topbar-h)}
  :root{--pausa:45vh}           /* quanto a seção fica parada cobrindo a tela */
  .snap{height:0;scroll-snap-align:start;scroll-snap-stop:normal}
  .pausa{height:var(--pausa);pointer-events:none}
  body{font-family:'Sora',sans-serif;background:#fff;color:#000;overflow-x:clip;padding-top:var(--topbar-h)}

  /* ---------- TOPBAR ---------- */
  .topbar{
    position:fixed;top:0;left:0;right:0;z-index:50;
    height:var(--topbar-h);
    background:#fff;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 42px 0 50px;
  }
  /* sombreamento suave abaixo da topbar */
  .topbar::after{
    content:"";position:absolute;left:0;right:0;top:100%;
    height:36px;pointer-events:none;
    background:linear-gradient(to bottom,
      rgba(0,0,0,.17) 0%,
      rgba(0,0,0,.10) 25%,
      rgba(0,0,0,.04) 60%,
      rgba(0,0,0,0) 100%);
  }
  .logo img{height:23px;width:auto;display:block}
  .nav{display:flex;align-items:center;height:100%}
  .nav a{
    font-family:'Montserrat',sans-serif;font-weight:600;
    font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;
    color:#222;text-decoration:none;margin-left:38px;
    transition:color .2s;
  }
  .nav a:first-child{margin-left:0}
  .nav a:hover{color:var(--amarelo-escuro)}
  .sep{width:1px;height:16px;background:#d9d9d9;margin:0 24px 0 29px}
  .icon-btn{
    display:flex;align-items:center;justify-content:center;
    width:20px;height:20px;color:#111;text-decoration:none;
    background:none;border:0;cursor:pointer;
  }
  .icon-btn svg{display:block}
  .icon-btn:hover{color:var(--amarelo-escuro)}
  .socials{display:flex;align-items:center;gap:16px}
  .socials a{margin-left:0}
  .search + .sep{margin:0 22px 0 22px}

  /* ---------- HERO ---------- */
  .hero{
    position:sticky;top:var(--topbar-h);z-index:1;
    height:calc(100vh - var(--topbar-h));
    height:calc(100svh - var(--topbar-h));   /* celular: altura visível real (sem a barra do navegador) */
    min-height:560px;
    display:flex;flex-direction:column;
  }
  .hero-area{flex:1;position:relative;overflow:hidden}
  /* imagem do hero: preenche todo o espaço, cortando só as sobras a partir do centro */
  .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
  .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

  /* ---------- BARRA DE MARCAS ---------- */
  .brands{
    position:relative;
    height:var(--band-h);
    background:var(--amarelo);
    overflow:hidden;
    display:flex;align-items:center;
  }
  .track{
    display:flex;width:max-content;
    will-change:transform;
  }
  .group{display:flex}
  .brand{
    height:48px;margin-right:64px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
  }
  /* logo: qualquer arquivo vira 100% branco, fundo transparente */
  .brand img{height:34px;width:auto;max-width:190px;display:block;filter:brightness(0) invert(1)}
  /* enquanto o arquivo da logo não existe, mostra o nome em branco */
  .brand span{
    font-family:'Sora',sans-serif;font-weight:800;font-size:24px;letter-spacing:-.01em;
    color:#fff;white-space:nowrap;
  }
  /* desfoque + fade nas bordas */
  .edge{
    position:absolute;top:0;bottom:0;width:190px;z-index:2;pointer-events:none;
    backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  }
  .edge.left{
    left:0;
    background:linear-gradient(to right,rgba(255,200,0,.55),rgba(255,200,0,0));
    -webkit-mask-image:linear-gradient(to right,#000 30%,transparent);
            mask-image:linear-gradient(to right,#000 30%,transparent);
  }
  .edge.right{
    right:0;
    background:linear-gradient(to left,rgba(255,200,0,.55),rgba(255,200,0,0));
    -webkit-mask-image:linear-gradient(to left,#000 30%,transparent);
            mask-image:linear-gradient(to left,#000 30%,transparent);
  }
  /* movimento para a direita: começa deslocado -50% e volta a 0 */
  .brands{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
  .brands.arrastando{cursor:grabbing}
  .brand img{-webkit-user-drag:none;pointer-events:none}

  @media (max-width:720px){
    .topbar{padding:0 20px}
    .nav a{margin-left:18px;font-size:10.5px}
    .socials,.sep{display:none}
    .search{margin-left:18px}
    /* celular: hero + barra de marcas cabem inteiros na primeira tela */
    .hero{min-height:0}
    .brands{--band-h:64px;height:64px}
    /* celular: usa a versão vertical do hero (1080×1920), cortando só as sobras */
    .hero-img{object-position:50% 46%}
  }

  /* ---------- SEÇÃO PAINEL FRONTLIGHT (cobre o hero) ---------- */
  .frontlight{
    position:sticky;top:var(--topbar-h);z-index:5;
    height:calc(100vh - var(--topbar-h));
    min-height:560px;
    background:#fff;
    overflow:hidden;
  }
  .fl-decor,.fl-shape{
    position:absolute;inset:0;width:100%;height:100%;
    will-change:transform;
  }
  .fl-decor{z-index:0;opacity:.85}
  .fl-shape{z-index:1}
  .fl-ph{
    position:absolute;z-index:2;left:0;width:35%;top:50%;
    transform:translateY(-50%);
    text-align:center;color:#fff;
    font-family:'Sora',sans-serif;font-weight:800;
    font-size:clamp(40px,6.6vw,124px);line-height:1.08;letter-spacing:-.02em;
    will-change:transform;
  }
  .fl-content{
    position:absolute;z-index:2;right:6.8%;top:27%;
    width:52%;text-align:right;
    will-change:transform;
  }
  .fl-content h2{
    font-family:'Sora',sans-serif;font-weight:800;
    font-size:clamp(18px,4.35vw,82px);line-height:1.05;letter-spacing:-.015em;
    color:#000;white-space:nowrap;
  }
  .fl-content p span{display:block;white-space:nowrap}
  .fl-content p{
    margin-top:clamp(18px,2.6vw,48px);margin-left:auto;
    font-family:'Sora',sans-serif;font-weight:300;
    font-size:clamp(11px,2.35vw,44px);line-height:1.5;color:#111;
  }

  /* ---------- BOTÃO WHATSAPP ---------- */
  .whatsapp{
    position:fixed;right:28px;bottom:28px;z-index:60;
    width:60px;height:60px;border-radius:50%;
    background:#25D366;color:#fff;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,.25);
    transition:transform .2s, box-shadow .2s;
  }
  .whatsapp:hover{transform:scale(1.08);box-shadow:0 10px 24px rgba(0,0,0,.3)}
  .whatsapp::before{
    content:"";position:absolute;inset:0;border-radius:50%;
    background:#25D366;z-index:-1;
    animation:pulso 2.4s ease-out infinite;
  }
  @keyframes pulso{
    0%{transform:scale(1);opacity:.55}
    100%{transform:scale(1.6);opacity:0}
  }

  @media (max-width:720px){
    .fl-shape{opacity:.9}
    .fl-ph{width:40%}
    .fl-content{width:58%;right:5%}
    .whatsapp{right:18px;bottom:18px;width:54px;height:54px}
  }

  /* ---------- ANIMAÇÃO DE TEXTO ---------- */
  .fl-content h2 .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em 0 .1em;margin:-.06em 0 -.1em}
  .fl-content h2 .c{
    display:inline-block;transform:translate3d(0,110%,0);opacity:0;
    transition:transform .75s cubic-bezier(.16,1,.3,1), opacity .4s ease;
    transition-delay:calc(var(--i) * 22ms);
  }
  .fl-content p span{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
  .fl-content p span i{
    font-style:normal;display:inline-block;
    transform:translate3d(0,105%,0);opacity:0;filter:blur(6px);
    transition:transform 1s cubic-bezier(.16,1,.3,1), opacity .8s ease, filter .8s ease;
    transition-delay:calc(.45s + var(--l) * 120ms);
  }
  .fl-ph .phl{display:block;opacity:0;transform:translateX(-30px);
    transition:opacity .8s ease, transform 1s cubic-bezier(.16,1,.3,1);
    transition-delay:calc(.15s + var(--l) * 120ms)}
  .frontlight:not(.in) .c,.frontlight:not(.in) p span i,.frontlight:not(.in) .phl{transition:none}
  .frontlight.in .fl-content h2 .c{transform:none;opacity:1}
  .frontlight.in .fl-content p span i{transform:none;opacity:1;filter:none}
  .frontlight.in .fl-ph .phl{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){
    .fl-content h2 .c,.fl-content p span i,.fl-ph .phl{transition:none!important;transform:none!important;opacity:1!important;filter:none!important}
  }

  /* seção totalmente coberta pela próxima: não é desenhada */
  .coberta{visibility:hidden}
  .coberta .track{animation-play-state:paused}
  .frontlight{contain:layout paint}

  /* foto no Painel Frontlight (estática, preenche toda a forma)
     A foto é dimensionada pela LARGURA da tela (como o título), então o painel
     nunca encosta no texto, em qualquer proporção de monitor. */
  #frontlight{container-type:inline-size}
  .fl-foto{position:absolute;z-index:1;left:0;top:0;width:51.71%;height:100%;overflow:visible}
  .fl-foto:not(.fl-pop){clip-path:polygon(0 0,66.14% 0,100% 100%,0 100%);background:rgb(51,118,207)}
  .fl-foto img{
    position:absolute;display:block;
    width:57.8cqw;height:auto;aspect-ratio:1081/1080;
    left:calc(51.71cqw - 57.8cqw);                          /* borda direita da foto = borda direita da forma */
    top:clamp(calc(100% - 57.75cqw), calc(45% - 24.3cqw), 0px); /* painel centralizado; céu completa se sobrar altura */
  }
  .fl-foto:not(.fl-pop) img{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 6%);
            mask-image:linear-gradient(to bottom,transparent 0,#000 6%);
  }
  .fl-pop{z-index:3;pointer-events:none}
  .fl-pop img{
    transform-origin:88% 42%;transform:scale(1.045);        /* cresce para a esquerda, não invade o texto */
    filter:drop-shadow(0 22px 26px rgba(0,0,0,.32)) drop-shadow(0 4px 6px rgba(0,0,0,.18));
  }

  /* foto no Painel Rodoviário (forma à direita; painel sai suavemente para a esquerda) */
  #rodoviario .fl-foto{left:50.48%;width:49.52%;container-type:size}
  #rodoviario .fl-foto:not(.fl-pop){clip-path:polygon(22.38% 0,100% 0,100% 100%,0 100%)}
  /* largura fixa da forma (painel no mesmo lugar em todo monitor);
     na altura: painel perto do meio, encostando a foto embaixo quando precisar, céu completa o topo */
  #rodoviario .fl-foto:not(.fl-pop){background:rgb(69,154,220)}
  #rodoviario .fl-foto img{
    --ih:97.7cqw;
    height:var(--ih);width:auto;aspect-ratio:1672/941;bottom:auto;
    left:calc(8cqw - 0.652 * var(--ih));
    top:max(calc(45cqh - 0.405 * var(--ih)), calc(100cqh - var(--ih)));
  }
  #rodoviario .fl-foto:not(.fl-pop) img{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 8%);mask-image:linear-gradient(to bottom,transparent 0,#000 8%);
  }
  #rodoviario .fl-pop img{transform-origin:83.5% 42%;transform:scale(1.03)}  /* sai só um pouco, para a esquerda */

  /* foto na Empena Estática: prédio centralizado na forma, sem sair da borda.
     Tamanho pela ALTURA da forma -> o prédio aparece inteiro e no centro em qualquer monitor. */
  #empena .fl-foto{left:0;width:65.12%;container-type:size}
  #empena .fl-foto:not(.fl-pop){clip-path:polygon(0 0,70.69% 0,100% 100%,0 100%)}
  #empena .fl-foto img{
    /* empena no centro da forma + avenidas com o fluxo embaixo */
    --ih:max(100cqh, 67.5cqw);
    height:var(--ih);width:auto;aspect-ratio:1672/941;
    left:calc(42cqw - 0.917 * var(--ih));
    top:clamp(calc(100cqh - var(--ih)), calc(50cqh - 0.459 * var(--ih)), 0px);
  }

  /* foto nos Painéis Digitais (forma à direita; LED sai suavemente para a esquerda) */
  #digitais .fl-foto{left:43.43%;width:56.57%;container-type:size}
  #digitais .fl-foto:not(.fl-pop){clip-path:polygon(22.61% 0,100% 0,100% 100%,0 100%)}
  #digitais .fl-foto img{
    /* LED no alto da forma + avenida com o trânsito; nada sai da borda */
    --iw:max(133.3cqh, 130cqw);
    width:var(--iw);height:auto;aspect-ratio:1448/1086;
    left:calc(60cqw - 0.692 * var(--iw));
    top:clamp(calc(100cqh - 0.75 * var(--iw)), calc(30cqh - 0.1695 * var(--iw)), 0px);
  }
  #digitais .fl-pop img{transform-origin:88.6% 28.4%;transform:scale(1.03)}

  /* foto na Empena Digital: LED centralizado na forma, sem sair da borda */
  #empena-digital .fl-foto{left:0;width:59.03%;container-type:size}
  #empena-digital .fl-foto:not(.fl-pop){clip-path:polygon(0 0,74.28% 0,100% 100%,0 100%)}
  #empena-digital .fl-foto img{
    /* foto quase inteira na altura: LED no alto + fluxo de carros embaixo, os dois sempre visíveis */
    --ih:max(100cqh, 76cqw);
    height:var(--ih);width:auto;aspect-ratio:1448/1086;
    left:calc(43.5cqw - 0.588 * var(--ih));            /* LED no centro da forma */
    top:calc((100cqh - var(--ih)) * 0.3);              /* em telas largas corta mais o céu que a rua */
  }

  /* foto na Empena 3D: LED centralizado na forma (direita), sem sair da borda */
  #empena-3d .fl-foto{left:43.02%;width:56.98%;container-type:size}
  #empena-3d .fl-foto:not(.fl-pop){clip-path:polygon(22.69% 0,100% 0,100% 100%,0 100%)}
  #empena-3d .fl-foto img{
    --ih:max(140cqh, 87.4cqw);
    height:var(--ih);width:auto;aspect-ratio:1448/1086;
    left:calc(55.6cqw - 0.6363 * var(--ih));         /* centro do LED no centro da forma */
    top:min(0px, calc(50cqh - 0.290 * var(--ih)));   /* LED perto do meio, sem sobrar espaço em cima */
  }

  /* foto no Portal Porto Alegre: LED + portal centralizados na forma (esquerda) */
  #portal-poa .fl-foto{left:0;width:55%;container-type:size}
  #portal-poa .fl-foto:not(.fl-pop){clip-path:polygon(0 0,79.85% 0,100% 100%,0 100%);background:rgb(155,206,247)}
  #portal-poa .fl-foto img{
    /* LED do portal centralizado e inteiro dentro da forma em qualquer monitor */
    --ih:max(63cqw, min(100cqh, 108cqw));
    height:var(--ih);width:auto;aspect-ratio:1672/941;
    left:calc(45.5cqw - 0.9134 * var(--ih));
    top:clamp(calc(100cqh - var(--ih)), calc(56cqh - 0.561 * var(--ih)), 0px);
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%);mask-image:linear-gradient(to bottom,transparent 0,#000 5%);
  }

  /* foto na Mídia Móvel: caminhão centralizado na forma (direita) */
  #midia-movel .fl-foto{left:41.24%;width:58.76%;container-type:size}
  #midia-movel .fl-foto:not(.fl-pop){clip-path:polygon(25.15% 0,100% 0,100% 100%,0 100%)}
  #midia-movel .fl-foto img{
    /* caminhão é o foco: grande, inteiro e centralizado na forma */
    --iw:max(103cqw, 83cqh);
    width:var(--iw);height:auto;aspect-ratio:1080/1350;
    left:calc(60cqw - 0.611 * var(--iw));
    top:calc(50cqh - 0.601 * var(--iw));
  }

  /* foto no Muro Mauá: lonas centralizadas na forma (esquerda) */
  #muro-maua .fl-foto{left:0;width:57.18%;container-type:size}
  #muro-maua .fl-foto:not(.fl-pop){clip-path:polygon(0 0,77.03% 0,100% 100%,0 100%)}
  #muro-maua .fl-foto img{
    /* lona inteira e centralizada na forma + carros passando na frente */
    --ih:max(100cqh, 60.8cqw);
    height:var(--ih);width:auto;aspect-ratio:1672/941;
    left:calc(44cqw - 0.855 * var(--ih));
    top:clamp(calc(100cqh - var(--ih)), calc(50cqh - 0.46 * var(--ih)), 0px);
  }

  /* foto em Soluções Especiais: cubo de LED centralizado na forma (direita) */
  #solucoes .fl-foto{left:40.97%;width:59.03%;container-type:size}
  #solucoes .fl-foto:not(.fl-pop){clip-path:polygon(25.61% 0,100% 0,100% 100%,0 100%)}
  #solucoes .fl-foto img{
    /* cubo no alto e centralizado + fluxo de pessoas embaixo */
    --ih:max(100cqh, 68.6cqw);
    height:var(--ih);width:auto;aspect-ratio:1672/941;
    left:calc(60cqw - 0.876 * var(--ih));
    top:calc(100cqh - var(--ih));
  }

  /* Veleiro: forma à direita (mesma do Mídia Móvel). Enquanto a foto não chega, cinza com aviso */
  #veleiro .fl-foto{left:41.24%;width:58.76%}
  #veleiro .fl-foto:not(.fl-pop){clip-path:polygon(25.15% 0,100% 0,100% 100%,0 100%)}
  /* veleiro centralizado na forma (um pouco acima do meio), sempre cobrindo tudo */
  #veleiro .fl-foto{container-type:size}
  #veleiro .fl-foto img{
    /* veleiro centralizado no alto + fluxo de pessoas na orla embaixo */
    --ih:max(100cqh, 65.8cqw);
    height:var(--ih);width:auto;aspect-ratio:1672/941;
    left:calc(60cqw - 0.913 * var(--ih));
    top:clamp(calc(100cqh - var(--ih)), calc(35cqh - 0.332 * var(--ih)), 0px);
  }
  .fl-vazio{background:#BBBBBB !important;display:flex;align-items:center;justify-content:center}
  .fl-vazio span{margin-left:22%;color:#fff;font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(28px,4vw,72px);letter-spacing:-.02em}
  @media (max-width:720px){ .fl-vazio span{margin:0;font-size:8vw} }

  /* Trensurb: forma à esquerda (mesma do Muro Mauá), trem centralizado */
  #trensurb .fl-foto{left:0;width:57.18%;container-type:size}
  #trensurb .fl-foto:not(.fl-pop){clip-path:polygon(0 0,77.03% 0,100% 100%,0 100%)}
  #trensurb .fl-foto img{
    --ih:max(110cqh, 84.2cqw);
    height:var(--ih);width:auto;aspect-ratio:1709/900;
    left:calc(44cqw - 1.234 * var(--ih));
    top:calc(50cqh - 0.5 * var(--ih));
  }

  /* Portal Centro: forma à direita, LED centralizado */
  #portal-centro .fl-foto{left:41.24%;width:58.76%;container-type:size}
  #portal-centro .fl-foto:not(.fl-pop){clip-path:polygon(25.15% 0,100% 0,100% 100%,0 100%)}
  #portal-centro .fl-foto img{
    /* LED no alto da forma (sem o letreiro de cima), avenida e carros embaixo */
    --ih:max(100cqh, 52.4cqw);
    height:var(--ih);width:auto;aspect-ratio:2576/954;
    left:calc(61.5cqw - 1.164 * var(--ih));
    top:0;
  }

  /* MUB: forma à esquerda, painel centralizado */
  #mub .fl-foto{left:0;width:57.18%;container-type:size}
  #mub .fl-foto:not(.fl-pop){clip-path:polygon(0 0,77.03% 0,100% 100%,0 100%);background:rgb(97,185,251)}
  #mub .fl-foto img{
    /* MUB + fluxo: avenida à esquerda e painel à direita, os dois dentro da forma */
    --iw:132cqw;
    width:var(--iw);height:auto;aspect-ratio:1536/1024;
    left:calc(-0.14 * var(--iw));
    top:clamp(calc(100cqh - 0.6667 * var(--iw)), calc(50cqh - 0.30 * var(--iw)), 0px);
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 6%);mask-image:linear-gradient(to bottom,transparent 0,#000 6%);
  }

  /* ---------- VARIAÇÃO ESPELHADA (texto à esquerda, imagem à direita) ---------- */
  #rodoviario{z-index:6}
  .frontlight.rev .fl-content{right:auto;left:3.5%;top:33%;text-align:left}
  .frontlight.rev .fl-content p{margin-left:0}
  .frontlight.rev .fl-ph{left:57.4%;width:42.6%}
  .frontlight.rev .fl-ph .phl{transform:translateX(30px)}
  .frontlight.rev.in .fl-ph .phl{transform:none}

  /* ---------- EMPENA ESTÁTICA ---------- */
  #empena{z-index:7}
  .frontlight.emp .fl-ph{width:55.3%;font-size:clamp(56px,11.6vw,220px);line-height:1.04}
  .frontlight.emp .fl-content{right:3.8%;top:35.5%}
  .frontlight.emp .fl-content h2{font-size:clamp(16px,3.7vw,70px)}
  .frontlight.emp .fl-content p{font-size:clamp(10px,1.72vw,33px);margin-top:clamp(14px,2.3vw,44px)}

  /* ---------- PAINÉIS DIGITAIS ---------- */
  #digitais{z-index:8}
  .frontlight.dig .fl-ph{left:52%;width:48%;font-size:clamp(56px,11.6vw,220px);line-height:1.04}
  .frontlight.dig .fl-content{left:4.3%;top:33.5%}
  .frontlight.dig .fl-content h2{font-size:clamp(16px,3.85vw,74px)}
  .frontlight.dig .fl-content p{font-size:clamp(10px,1.84vw,35px);line-height:1.37;margin-top:clamp(8px,1.3vw,26px)}

  /* ---------- EMPENA DIGITAL ---------- */
  #empena-digital{z-index:9}
  .frontlight.dig2 .fl-ph{width:49.7%;font-size:clamp(56px,11.6vw,220px);line-height:1.04}
  .frontlight.dig2 .fl-content{right:3.6%;top:34%}
  .frontlight.dig2 .fl-content h2{font-size:clamp(16px,3.85vw,74px)}
  .frontlight.dig2 .fl-content p{font-size:clamp(10px,1.9vw,36px);line-height:1.42;margin-top:clamp(8px,1.5vw,28px)}

  /* ---------- EMPENA 3D ---------- */
  #empena-3d{z-index:10}
  .frontlight.e3d .fl-ph{left:52%;width:48%;font-size:clamp(56px,11.6vw,220px);line-height:1.04}
  .frontlight.e3d .fl-content{left:4.8%;top:34%}
  .frontlight.e3d .fl-content h2{font-size:clamp(16px,3.85vw,74px)}
  .frontlight.e3d .fl-content p{font-size:clamp(10px,1.84vw,35px);line-height:1.37;margin-top:clamp(8px,1.3vw,26px)}

  /* ---------- PORTAL PORTO ALEGRE ---------- */
  #portal-poa{z-index:11}
  .frontlight.poa .fl-ph{left:0;width:48%;font-size:clamp(56px,11.6vw,220px);line-height:1.04}
  .frontlight.poa .fl-content{right:4.4%;top:20.5%}
  .frontlight.poa .fl-content h2{font-size:clamp(16px,3.85vw,74px);line-height:1.55}
  .frontlight.poa .fl-content p{font-size:clamp(10px,1.84vw,35px);line-height:1.5;margin-top:clamp(8px,1.6vw,30px)}

  /* ---------- MÍDIA MÓVEL ---------- */
  #midia-movel{z-index:12}
  .frontlight.mm .fl-ph{left:50.5%;width:49.5%;font-size:clamp(56px,11.6vw,220px);line-height:1.04}
  .frontlight.mm .fl-content{left:2.9%;top:33%}
  .frontlight.mm .fl-content h2{font-size:clamp(16px,3.85vw,74px)}
  .frontlight.mm .fl-content p{font-size:clamp(10px,1.84vw,35px);line-height:1.5;margin-top:clamp(10px,2vw,38px)}

  /* ---------- MURO MAUÁ ---------- */
  #muro-maua{z-index:13}
  .frontlight.mua .fl-ph{left:0;width:48%;font-size:clamp(56px,11.6vw,220px);line-height:1.04}
  .frontlight.mua .fl-content{right:4.6%;top:34%}
  .frontlight.mua .fl-content h2{font-size:clamp(16px,3.85vw,74px)}
  .frontlight.mua .fl-content p{font-size:clamp(10px,1.84vw,35px);line-height:1.37;margin-top:clamp(10px,2vw,38px)}

  /* ---------- SOLUÇÕES ESPECIAIS ---------- */
  #veleiro{z-index:14}
  #trensurb{z-index:15}
  #portal-centro{z-index:16}
  #mub{z-index:17}
  #solucoes{z-index:18}
  .frontlight.sol .fl-ph{left:48%;width:52%;font-size:clamp(56px,11.6vw,220px);line-height:1.04}
  .frontlight.sol .fl-content{left:2.3%;top:33%}
  .frontlight.sol .fl-content h2{font-size:clamp(16px,3.85vw,74px)}
  .frontlight.sol .fl-content p{font-size:clamp(10px,1.84vw,35px);line-height:1.5;margin-top:clamp(10px,2.2vw,42px)}

  /* ---------- INDICADOR LATERAL DE SEÇÕES ---------- */
  .indicador{
    position:fixed;z-index:55;right:0;top:var(--topbar-h);bottom:0;
    width:6px;display:flex;flex-direction:column;
    opacity:0;transform:translateX(100%);
    transition:opacity .4s ease, transform .4s ease;
    pointer-events:none;
  }
  .indicador.on{opacity:1;transform:none;pointer-events:auto}
  .indicador .seg{
    position:relative;flex:1;cursor:pointer;
    background:color-mix(in srgb, var(--cor) 28%, transparent);
  }
  .indicador .seg::before{content:"";position:absolute;inset:0 0 0 -10px} /* área de clique maior */
  .indicador .seg i{
    position:absolute;inset:0;background:var(--cor);
    transform-origin:top;transform:scaleY(0);
  }
  .indicador .seg:hover{background:color-mix(in srgb, var(--cor) 55%, transparent)}


  /* =========================================================
     CTA — FALAR COM O COMERCIAL (faixa amarela)
     ========================================================= */
  .cta{
    position:relative;z-index:20;overflow:hidden;
    height:38.3vw;min-height:330px;
    background:var(--amarelo);color:#fff;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;padding-bottom:2vw;
  }
  .cta-art{position:absolute;pointer-events:none;height:auto;overflow:hidden}
  .cta-arcos{left:0;top:0;width:max(14.2vw,74px)}
  .cta-serp{right:0;top:0;width:max(17.3vw,76px)}
  .cta-nuvem{left:0;bottom:0;width:max(22.8vw,118px)}
  .cta h2{
    position:relative;z-index:1;
    font-family:'Sora',sans-serif;font-weight:800;
    font-size:clamp(24px,3.5vw,68px);line-height:1.2;letter-spacing:-.005em;
  }
  .cta h2 .ln{display:block;overflow:hidden;padding-bottom:.08em}
  .cta h2 .ln i{display:inline-block;font-style:normal;transform:translateY(105%);
    transition:transform 1s cubic-bezier(.16,1,.3,1);transition-delay:calc(.1s + var(--l) * .12s)}
  .cta h2 u{text-decoration:none;position:relative;display:inline-block}
  .cta h2 u::after{content:"";position:absolute;left:0;right:0;bottom:-.04em;height:.07em;background:#fff;
    transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.16,1,.3,1) .7s}
  .cta.in h2 u::after{transform:none}
  .cta-sub{
    position:relative;z-index:1;
    font-family:'Sora',sans-serif;font-weight:400;
    font-size:clamp(13px,1.55vw,30px);margin-top:clamp(14px,2.8vw,54px);
  }
  /* botão: texto | divisória fina | ícone */
  .cta-btn{
    position:relative;z-index:1;display:flex;align-items:stretch;
    width:33vw;min-width:290px;height:4.8vw;min-height:50px;
    margin-top:clamp(12px,1.8vw,34px);
    background:#fff;color:#111;text-decoration:none;
    transition:background .3s ease,color .3s ease,transform .35s cubic-bezier(.16,1,.3,1);
  }
  .cta-btn span{
    flex:1;display:flex;align-items:center;justify-content:center;
    font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(13px,1.55vw,30px);letter-spacing:-.005em;
    padding:0 1.2vw;
  }
  .cta-btn b{
    width:17.3%;display:flex;align-items:center;justify-content:center;flex-shrink:0;
    border-left:1px solid #111;transition:border-color .3s,color .3s;
  }
  .cta-btn b svg{width:clamp(16px,1.35vw,26px);height:auto;transition:transform .4s cubic-bezier(.16,1,.3,1)}
  .cta-btn:hover{background:#111;color:#fff}
  .cta-btn:hover b{border-color:rgba(255,255,255,.35);color:var(--amarelo)}
  .cta-btn:hover b svg{transform:scale(1.15)}
  .cta-btn:active{transform:scale(.985)}

  /* entrada */
  .cta-sub,.cta-btn{transition-property:opacity,transform,background,color;transition-duration:.8s,1s,.3s,.3s;
    transition-timing-function:ease,cubic-bezier(.16,1,.3,1),ease,ease}
  .cta:not(.in) .cta-sub,.cta:not(.in) .cta-btn{opacity:0;transform:translateY(20px)}
  .cta.in .cta-sub{transition-delay:.35s,.35s,0s,0s}
  .cta.in .cta-btn{transition-delay:.5s,.5s,0s,0s}
  .cta.in h2 .ln i{transform:none}
  .cta-art .arcos,.cta-art .serpente,.cta-art .nuvem{transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity .8s ease}
  .cta:not(.in) .cta-art .arcos{transform:translate(-30px,-30px);opacity:0}
  .cta:not(.in) .cta-art .serpente{transform:translate(40px,0);opacity:0}
  .cta:not(.in) .cta-art .nuvem{transform:translate(0,40px);opacity:0}

  /* WhatsApp some suavemente no CTA */
  .whatsapp{transition:transform .2s, box-shadow .2s, opacity .45s ease}
  .whatsapp.sumir{opacity:0;transform:translateY(24px) scale(.7);pointer-events:none}

  /* =========================================================
     RODAPÉ
     ========================================================= */
  .rodape{position:relative;z-index:20;background:#fff;padding:44px 24px}
  .rodape-in{
    max-width:1090px;margin:0 auto;
    display:flex;align-items:center;gap:0;
  }
  .rodape .r-logo img{height:24px;width:auto;display:block}
  .rodape .r-copy{
    margin-left:96px;flex:1;
    font-family:'Montserrat',sans-serif;font-weight:500;font-size:13px;color:#6b6b6b;
  }
  .rodape .r-redes{display:flex;align-items:center;gap:18px}
  .rodape .r-redes a{color:#6b6b6b;display:flex;transition:color .2s}
  .rodape .r-redes a:hover{color:var(--amarelo-escuro)}
  .rodape .r-divia{margin-left:44px;display:block}
  .rodape .r-divia img{height:36px;width:auto;display:block}
  @media (max-width:820px){
    .rodape-in{flex-direction:column;gap:18px;text-align:center}
    .rodape .r-copy{margin-left:0}
    .rodape .r-divia{margin-left:0}
  }

  /* =========================================================
     TOPBAR NO CELULAR (hambúrguer + menu escuro)
     ========================================================= */
  .burger,.sep-m,.mmenu{display:none}
  @media (max-width:820px){
    .topbar{padding:0 18px 0 20px}
    .nav > .sep:not(.sep-m),.socials{display:none}
    .burger{
      display:flex;flex-direction:column;justify-content:center;gap:6px;
      width:26px;height:26px;background:none;border:0;padding:0;cursor:pointer;
    }
    .burger i{display:block;flex:none;height:2px;width:100%;background:#000;transition:transform .3s,opacity .2s}
    .burger[aria-expanded="true"] i:nth-child(1){transform:translateY(8px) rotate(45deg)}
    .burger[aria-expanded="true"] i:nth-child(2){opacity:0}
    .burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
    .sep-m{display:block;width:1px;height:18px;background:#d9d9d9;margin:0 14px 0 16px}
    .search{margin-left:0}
    .mmenu{
      display:block;position:fixed;z-index:49;left:0;right:0;top:var(--topbar-h);
      background:rgba(17,17,17,.96);
      max-height:calc(100svh - var(--topbar-h));overflow-y:auto;
      transform:translateY(-8px);opacity:0;visibility:hidden;
      transition:opacity .25s ease,transform .3s cubic-bezier(.16,1,.3,1),visibility 0s .3s;
    }
    .mmenu.on{transform:none;opacity:1;visibility:visible;transition:opacity .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}
    .mm-item{border-bottom:1px solid rgba(255,255,255,.12)}
    .mm-head{
      width:100%;display:flex;align-items:center;justify-content:space-between;
      background:none;border:0;color:#fff;cursor:pointer;padding:18px 20px;
      font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.03em;text-align:left;
    }
    .mm-head svg{transition:transform .3s}
    .mm-head[aria-expanded="true"] svg{transform:rotate(180deg)}
    .mm-sub{list-style:none;max-height:0;overflow:hidden;transition:max-height .35s ease}
    .mm-item.open .mm-sub{max-height:640px}
    .mm-sub a{
      display:block;padding:12px 20px 12px 32px;color:#cfcfcf;text-decoration:none;
      font-family:'Sora',sans-serif;font-weight:400;font-size:14px;
      border-left:2px solid transparent;
    }
    .mm-sub a:active,.mm-sub a:hover{color:var(--amarelo);border-left-color:var(--amarelo)}
    .mm-sub li:last-child a{padding-bottom:18px}
  }

  /* ---------- MENUS SUSPENSOS (desktop) ---------- */
  .dd{position:relative;height:100%;display:flex;align-items:center;margin-left:38px}
  .dd:first-child{margin-left:0}
  .nav .dd .dd-btn{margin-left:0}
  .dd-menu{
    list-style:none;position:absolute;top:100%;left:-22px;min-width:220px;
    background:rgba(17,17,17,.94);padding:10px 0;
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .2s ease,transform .25s cubic-bezier(.16,1,.3,1),visibility 0s .25s;
  }
  .dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{
    opacity:1;visibility:visible;transform:none;
    transition:opacity .2s ease,transform .25s cubic-bezier(.16,1,.3,1);
  }
  .nav .dd-menu a{
    display:block;padding:10px 22px;white-space:nowrap;text-decoration:none;margin:0;
    text-transform:none;letter-spacing:0;
    font-family:'Sora',sans-serif;font-weight:400;font-size:14px;color:#d6d6d6;
    border-left:2px solid transparent;transition:color .15s,border-color .15s,background .15s;
  }
  .nav .dd-menu a:hover,.nav .dd-menu a:focus{color:var(--amarelo);border-left-color:var(--amarelo);background:rgba(255,255,255,.04)}
  .dd:hover .dd-btn,.dd.open .dd-btn{color:var(--amarelo-escuro)}
  @media (max-width:820px){ .dd{display:none} }

  /* =========================================================
     SEÇÕES DE PRODUTO NO CELULAR
     foto em cima (corte inclinado, alternando o lado), texto embaixo,
     nada saindo da borda; mesmas fotos, textos e linhas do "H" ao fundo
     ========================================================= */
  @media (max-width:720px){
    .frontlight{height:calc(100vh - var(--topbar-h));height:calc(100svh - var(--topbar-h));min-height:0}
    .frontlight .fl-shape,.frontlight .fl-pop{display:none !important}
    .frontlight .fl-foto{
      left:0 !important;top:0 !important;width:100% !important;height:50% !important;
      container-type:normal !important;background:#bbb !important;
    }
    /* corte: texto à direita -> borda desce para a direita; texto à esquerda -> sobe para a direita */
    .frontlight:not(.rev) .fl-foto{clip-path:polygon(0 0,100% 0,100% 100%,0 87%) !important}
    .frontlight.rev .fl-foto{clip-path:polygon(0 0,100% 0,100% 87%,0 100%) !important}
    .frontlight .fl-foto img{
      position:absolute !important;inset:0 !important;left:0 !important;top:0 !important;bottom:auto !important;
      width:100% !important;height:100% !important;max-width:none !important;
      object-fit:cover !important;transform:scale(var(--z,1)) !important;transform-origin:var(--zo,50% 50%) !important;
      -webkit-mask-image:none !important;mask-image:none !important;
    }
    #frontlight .fl-foto img{object-position:100% 50% !important;--zo:50% 50%;--z:1}
    #rodoviario .fl-foto img{object-position:77% 50% !important;--zo:50% 50%;--z:1}
    #empena .fl-foto img{object-position:54% 50% !important;--zo:50% 50%;--z:1}
    #digitais .fl-foto img{object-position:70% 50% !important;--zo:50% 50%;--z:1}
    #empena-digital .fl-foto img{object-position:17% 50% !important;--zo:50% 50%;--z:1}
    #empena-3d .fl-foto img{object-position:48% 30% !important;--zo:48% 30%;--z:1.45}
    #portal-poa .fl-foto img{object-position:53.7% 50% !important;--zo:51.4% 56%;--z:1.1}
    #midia-movel .fl-foto img{object-position:50% 48% !important;--zo:50% 48%;--z:1}
    #muro-maua .fl-foto img{object-position:45% 50% !important;--zo:50% 50%;--z:1}
    #veleiro .fl-foto img{object-position:54% 50% !important;--zo:50% 50%;--z:1}
    #trensurb .fl-foto img{object-position:85% 50% !important;--zo:50% 48%;--z:1.15}
    #portal-centro .fl-foto img{object-position:39% 0% !important;--zo:43% 0%;--z:1.15}
    #mub .fl-foto img{object-position:55% 50% !important;--zo:50% 50%;--z:1}
    #solucoes .fl-foto img{object-position:48% 50% !important;--zo:50% 50%;--z:1}
    .frontlight .fl-content{
      left:7% !important;right:7% !important;top:56.5% !important;width:auto !important;
    }
    .frontlight:not(.rev) .fl-content{text-align:right}
    .frontlight.rev .fl-content{text-align:left}
    .frontlight .fl-content h2{
      font-size:min(9.6vw,46px) !important;line-height:1.08 !important;white-space:normal !important;
    }
    .frontlight .fl-content p{
      font-size:min(4.9vw,23px) !important;line-height:1.45 !important;
      margin-top:min(3.6vw,18px) !important;max-width:none !important;
    }
    .frontlight .fl-content p span{display:inline !important;white-space:normal !important;overflow:visible !important}
    .frontlight .fl-content p span i{display:inline !important}
    .frontlight .fl-content p span::after{content:' '}
    .frontlight .fl-decor{opacity:.7}
  }

  @media (min-width:721px){
  /* Frontlight e Rodoviário: painel e fluxo dentro da forma, nada saindo da borda */
  #frontlight .fl-foto{container-type:size}
  #frontlight .fl-foto:not(.fl-pop){background:rgb(120,150,190)}
  #frontlight .fl-foto img{
    --iw:max(150cqw, 133.3cqh);
    width:var(--iw) !important;height:auto !important;aspect-ratio:1448/1086;
    left:calc(57cqw - 0.713 * var(--iw)) !important;
    top:clamp(calc(100cqh - 0.75 * var(--iw)), calc(27cqh - 0.175 * var(--iw)), 0px) !important;
    -webkit-mask-image:none !important;mask-image:none !important;
  }
  #rodoviario .fl-foto img{
    --iw:160cqw;
    width:var(--iw) !important;height:auto !important;aspect-ratio:1672/941;
    left:calc(57cqw - 0.602 * var(--iw)) !important;
    top:clamp(calc(100cqh - 0.5628 * var(--iw)), calc(45cqh - 0.228 * var(--iw)), 0px) !important;
  }
  }

/* Production integration: official consent control and signature. */
.r-divia {background:#111;padding:6px 10px;border-radius:3px}
.rodape .r-divia img{width:114px;height:40px}
.rodape .r-copy{margin-left:40px}
#divia-gdpr{position:fixed;z-index:100001;bottom:14px;left:14px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 10px #0003;display:grid;place-items:center}
#diviaGDPR{z-index:100002!important;font-family:'Sora',sans-serif}
#home-search{margin:auto;padding:30px;max-width:calc(100% - 32px);width:480px;border:0}
#home-search::backdrop{background:#0009}
#home-search label,#home-search input{display:block;width:100%;margin:16px 0}
#home-search input{padding:12px;border:1px solid #777}
#home-search button{padding:10px 18px;cursor:pointer}
@media(max-width:720px){#diviaGDPR{left:10px!important;right:10px!important;bottom:80px!important;width:auto!important;max-height:calc(100svh - 110px);overflow:auto}.rodape .r-copy{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}.hero,.frontlight{position:relative;top:auto}.coberta{visibility:visible}.pausa{display:none}.frontlight *,.cta *{transition:none!important;animation:none!important}.frontlight .c,.frontlight p span i,.cta h2 .ln i,.cta .cta-sub,.cta .cta-btn,.cta-art g{opacity:1!important;transform:none!important;filter:none!important}.whatsapp::before{animation:none}}
