/*
======================================================
RN VISION PIRA - CSS PRINCIPAL

Esse arquivo foi separado do HTML sem alterar o design original.
Para editar visual:
- menu/header: procure por .topbar, .brand, .nav
- banner inicial: procure por .home-hero-remodelada
- botões: procure por .btn
- mobile: procure por @media(max-width:768px)
======================================================
*/

:root{
  --blue:#0d47a1;
  --blue-2:#0a2f73;
  --navy:#071426;
  --gold:#b6935c;
  --text:#111827;
  --muted:#667085;
  --line:#e7eaf0;
  --bg:#f5f6f8;
  --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:26px 5vw;transition:.35s;background:linear-gradient(180deg,rgba(6,13,27,.64),rgba(6,13,27,0))}
.topbar.scrolled{padding:14px 5vw;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(15,23,42,.08)}
.brand{width:180px;height:74px;background:#fff;border-radius:0 0 26px 26px;display:flex;align-items:center;justify-content:center;padding:10px 16px;box-shadow:0 20px 50px rgba(0,0,0,.13)}
.brand img{max-height:58px;object-fit:contain}.nav{display:flex;align-items:center;gap:28px;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.topbar.scrolled .nav{color:var(--navy)}.nav a{position:relative}.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--gold);transition:.25s}.nav a:hover::after{width:100%}.nav-cta{padding:14px 18px;border:1px solid rgba(255,255,255,.45)}.topbar.scrolled .nav-cta{border-color:var(--line)}
.menu-toggle{display:none;background:none;border:0;gap:5px;flex-direction:column}.menu-toggle span{display:block;width:28px;height:2px;background:#fff}.topbar.scrolled .menu-toggle span{background:var(--navy)}
.hero-corporate{min-height:100vh;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:130px 5vw 70px;background:linear-gradient(115deg,rgba(5,13,29,.94) 0%,rgba(8,34,74,.82) 43%,rgba(7,20,38,.24) 100%),url('https://images.pexels.com/photos/8117438/pexels-photo-8117438.jpeg?auto=compress&cs=tinysrgb&w=1800') center right/cover;color:#fff;overflow:hidden}
.hero-corporate:after{content:"";position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(0deg,var(--bg),rgba(245,246,248,0));z-index:1}.hero-bg{position:absolute;inset:0;z-index:0}.grid-light{position:absolute;right:-6vw;top:18vh;width:54vw;height:54vw;background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle,black 0%,transparent 68%)}
.hero-content{position:relative;z-index:2;max-width:760px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.35em;font-weight:900;color:#d7bb82;margin-bottom:24px}.eyebrow.dark{color:var(--blue)}h1{font-family:'Playfair Display',serif;font-size:clamp(42px,5vw,72px);line-height:.92;letter-spacing:-.06em;text-transform:none;max-width:900px}h2{font-family:'Playfair Display',serif;font-size:clamp(34px,5vw,72px);line-height:1;letter-spacing:-.045em;text-transform:none}.hero-text{margin-top:28px;max-width:620px;font-size:18px;line-height:1.8;color:rgba(255,255,255,.82)}.hero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 26px;border-radius:0;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px;transition:.25s}.btn.primary{background:#fff;color:var(--navy)}.btn.primary:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,0,0,.18)}.btn.ghost{border:1px solid rgba(255,255,255,.45);color:#fff}.btn.light{background:#fff;color:var(--blue-2)}
.device-showcase{position:absolute;right:6vw;bottom:14vh;width:min(34vw,520px);height:360px;z-index:1;opacity:.82}.browser-frame{position:absolute;right:0;top:0;width:82%;height:72%;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.45);box-shadow:0 45px 100px rgba(0,0,0,.35);padding:24px}.browser-dots{display:flex;gap:7px}.browser-dots i{width:10px;height:10px;border-radius:99px;background:#cbd5e1}.browser-card.big{margin-top:24px;height:118px;background:linear-gradient(135deg,var(--blue),#e9eef8);}.browser-row{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;margin-top:16px}.browser-row span,.browser-grid span{display:block;height:42px;background:#eef2f8}.browser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.phone-frame{position:absolute;left:0;bottom:0;width:170px;height:310px;background:#061326;border:8px solid #fff;box-shadow:0 35px 80px rgba(0,0,0,.35);padding:22px}.phone-frame span{display:block;height:48px;background:rgba(255,255,255,.15);margin-bottom:14px}.floating-panel{position:absolute;z-index:3;background:rgba(255,255,255,.94);color:var(--navy);padding:18px 22px;box-shadow:0 20px 60px rgba(0,0,0,.20);border-left:4px solid var(--gold)}.floating-panel span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em}.floating-panel strong{font-size:20px}.panel-1{right:25vw;bottom:14vh}.panel-2{right:5vw;top:28vh}.hero-info-card{position:absolute;right:5vw;bottom:45px;z-index:4;background:#fff;color:var(--navy);padding:26px 34px;width:min(370px,90vw)}.hero-info-card span{display:block;text-transform:uppercase;letter-spacing:.18em;color:var(--blue);font-size:12px;font-weight:900;margin-bottom:10px}.hero-info-card strong{font-size:24px;line-height:1.15}
section{padding:110px 5vw}.section-title.split{display:grid;grid-template-columns:1.1fr .8fr;gap:50px;align-items:end;margin-bottom:46px}.section-title.split p:last-child{font-size:18px;line-height:1.8;color:var(--muted)}.section-title.center{text-align:center;max-width:850px;margin:0 auto 52px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.tabs button{border:1px solid var(--line);background:#fff;padding:14px 22px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;cursor:pointer}.tabs button.active{background:var(--navy);color:#fff}.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.solution-card{min-height:350px;background:#fff;padding:34px;display:flex;flex-direction:column;justify-content:space-between;transition:.3s}.solution-card:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(15,23,42,.10);z-index:2}.solution-card small{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.18em}.solution-card h3{font-size:30px;line-height:1.08;text-transform:none;margin:30px 0 16px}.solution-card p{color:var(--muted);line-height:1.75}.solution-card a{font-weight:900;color:var(--blue);margin-top:auto}.solution-card.featured{background:var(--navy);color:#fff}.solution-card.featured p{color:rgba(255,255,255,.72)}.solution-card.featured a{color:#fff}.about-corporate{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;background:#fff}.about-text p:not(.eyebrow){font-size:18px;line-height:1.9;color:var(--muted);margin:26px 0}.arrow-link{font-weight:900;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.stats-board{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line)}.stats-board div{padding:44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px}.stats-board span{display:block;font-family:'Playfair Display',serif;font-size:58px;color:var(--blue);line-height:1}.stats-board p{margin-top:12px;text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:900;color:var(--muted)}.portfolio-section{background:#f0f2f5}.portfolio-list{max-width:1040px;margin:auto;border-top:1px solid #d8dde6}.portfolio-item{display:flex;align-items:center;justify-content:space-between;padding:34px 0;border-bottom:1px solid #d8dde6;transition:.25s}.portfolio-item span{font-family:'Playfair Display',serif;font-size:clamp(30px,4vw,56px);letter-spacing:-.04em}.portfolio-item strong{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.portfolio-item:hover{padding-left:22px;color:var(--blue)}.cta-large{background:linear-gradient(135deg,#061326,#0d47a1);color:#fff;text-align:center}.cta-large p{text-transform:uppercase;letter-spacing:.28em;color:#d7bb82;font-weight:900;margin-bottom:18px}.cta-large h2{max-width:940px;margin:0 auto 34px}.footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;background:#071426;color:#fff;padding:60px 5vw}.footer img{width:160px;background:#fff;padding:12px;margin-bottom:18px}.footer p,.footer a{display:block;color:rgba(255,255,255,.68);margin-top:10px}.footer strong{display:block;margin-bottom:14px;text-transform:uppercase;letter-spacing:.13em;font-size:12px}.float-whats{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;background:#1db954;color:#fff;z-index:60;display:flex;align-items:center;justify-content:center;font-size:31px;font-weight:900;box-shadow:0 18px 40px rgba(0,0,0,.22)}
@media(max-width:980px){.topbar{padding:16px 22px}.brand{width:150px;height:64px}.menu-toggle{display:flex;z-index:80}.nav{position:fixed;inset:0 0 0 auto;width:min(360px,86vw);height:100vh;background:#fff;color:var(--navy)!important;flex-direction:column;align-items:flex-start;padding:120px 32px;transform:translateX(105%);transition:.3s;box-shadow:-30px 0 80px rgba(0,0,0,.18)}.nav.open{transform:translateX(0)}.nav-cta{border-color:var(--line)}.hero-corporate{grid-template-columns:1fr;padding-top:150px}.device-showcase{position:relative;right:auto;bottom:auto;width:100%;height:360px;margin-top:35px}.panel-1,.panel-2,.hero-info-card{display:none}.section-title.split,.about-corporate{grid-template-columns:1fr}.solution-grid{grid-template-columns:1fr 1fr}.footer{grid-template-columns:1fr}}
@media(max-width:640px){section{padding:76px 22px}.hero-corporate{padding-left:22px;padding-right:22px}.hero-text{font-size:16px}.solution-grid{grid-template-columns:1fr}.stats-board{grid-template-columns:1fr}.portfolio-item{align-items:flex-start;gap:12px;flex-direction:column}.browser-frame{width:92%;height:68%}.phone-frame{width:130px;height:240px}.footer{padding:50px 22px}.btn{width:100%}}

.image-showcase{opacity:1!important}
.image-showcase img{width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:0 35px 90px rgba(0,0,0,.45);border:8px solid rgba(255,255,255,.9)}

/* Refinamento geral de alinhamento e proporção */
.topbar.solid{background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 12px 45px rgba(15,23,42,.08);padding:14px 5vw}.topbar.solid .nav{color:var(--navy)}.topbar.solid .nav-cta{border-color:var(--line)}.topbar.solid .menu-toggle span{background:var(--navy)}
.hero-content{max-width:680px}h1{font-size:clamp(40px,5.1vw,72px);line-height:1.03;letter-spacing:-.04em;text-transform:none}h2{font-size:clamp(30px,4vw,56px);line-height:1.05;letter-spacing:-.035em;text-transform:none}.hero-text{max-width:570px;font-size:17px}.hero-info-card strong{font-size:22px}.floating-panel strong{font-size:18px}.device-showcase{width:min(32vw,480px);height:320px}.image-showcase img{object-position:center}.container{width:min(1180px,90vw);margin:0 auto}.clean-page{min-height:auto;padding:175px 5vw 88px;background:linear-gradient(135deg,#f8fafc,#eef3fb);color:var(--navy);border-bottom:1px solid var(--line)}.page-hero h1{max-width:820px}.page-hero p:not(.eyebrow){max-width:680px;margin-top:22px;font-size:18px;line-height:1.8;color:var(--muted)}.narrow{max-width:920px}.page-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:60px;align-items:center}.page-photo{background:#fff;padding:12px;box-shadow:0 28px 80px rgba(15,23,42,.12)}.page-photo img{width:100%;height:410px;object-fit:cover}.content-section{padding:96px 5vw}.two-columns{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.text-panel{background:#fff;border:1px solid var(--line);padding:34px;box-shadow:0 20px 60px rgba(15,23,42,.06)}.text-panel p{font-size:17px;line-height:1.9;color:var(--muted);margin-bottom:16px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:#fff}.cards-3 article,.client-card,.timeline-item,.contact-card,.contact-form{background:#fff;border:1px solid var(--line);padding:34px;box-shadow:0 20px 55px rgba(15,23,42,.06)}.cards-3 h3,.client-card h3,.timeline-item h3{font-size:25px;margin-bottom:12px}.cards-3 p,.client-card p,.timeline-item p,.contact-card p{color:var(--muted);line-height:1.75}.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.client-logo{height:120px;display:flex;align-items:center;justify-content:center;background:#f8fafc;margin-bottom:24px}.client-logo img{max-height:90px;object-fit:contain}.client-card span{font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:var(--blue);display:block;margin-bottom:10px}.compact{padding:86px 5vw}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.timeline-item span{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-weight:900;margin-bottom:28px}.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start}.contact-form label{display:block;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;color:var(--navy)}.contact-form input,.contact-form textarea{width:100%;margin-top:9px;border:1px solid var(--line);padding:16px;font:inherit;text-transform:none;letter-spacing:0;color:var(--text);background:#f8fafc}.contact-form textarea{height:150px;resize:vertical}.darkbtn{background:var(--navy)!important;color:#fff!important}.contact-links a{display:block;margin-top:14px;color:var(--blue);font-weight:800}.contact-card h2{font-family:'Playfair Display',serif;font-size:42px;margin-bottom:14px}
@media(max-width:980px){h1{font-size:clamp(36px,8vw,56px)}h2{font-size:clamp(30px,6vw,46px)}.device-showcase{width:100%;height:300px}.page-grid,.two-columns,.contact-layout{grid-template-columns:1fr}.clients-grid,.timeline,.cards-3{grid-template-columns:1fr 1fr}.clean-page{padding-top:135px}}
@media(max-width:640px){h1{font-size:38px;line-height:1.08}.hero-content h1{font-size:40px}.hero-corporate{min-height:auto;padding-top:128px}.device-showcase{height:230px}.clients-grid,.timeline,.cards-3{grid-template-columns:1fr}.clean-page{padding:120px 22px 62px}.content-section{padding:70px 22px}.page-photo img{height:280px}.container{width:100%}}

/* Correção do alinhamento da área visual da página inicial */
@media (min-width: 981px){
  .hero-corporate{
    min-height: 100vh;
    padding-bottom: 110px;
  }

  .hero-bg{
    pointer-events: none;
  }

  .device-showcase.image-showcase{
    width: min(43vw, 620px);
    height: clamp(300px, 28vw, 390px);
    right: 6vw;
    top: 30vh;
    bottom: auto;
    z-index: 2;
    opacity: 1 !important;
  }

  .device-showcase.image-showcase img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border: 9px solid rgba(255,255,255,.95);
    border-radius: 12px;
  }

  .floating-panel{
    z-index: 5;
    max-width: 300px;
    white-space: normal;
  }

  .panel-2{
    right: 6vw;
    top: 16vh;
    width: 270px;
  }

  .panel-1{
    right: min(43vw, 570px);
    bottom: 14vh;
    width: 285px;
  }

  .hero-info-card{
    right: 6vw;
    bottom: 8.5vh;
    width: min(460px, 34vw);
    padding: 28px 36px;
    z-index: 6;
    box-shadow: 0 28px 80px rgba(0,0,0,.22);
  }

  .hero-info-card strong{
    display:block;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.08;
  }
}

@media (max-width: 980px){
  .device-showcase.image-showcase{
    margin-top: 32px;
    height: 320px;
  }
}

@media (max-width: 640px){
  .device-showcase.image-showcase{
    height: 235px;
  }
}

/* Ajustes finais de alinhamento, tipografia e formulários */
main{overflow:hidden}
.about-corporate{align-items:center}
.about-text h2,.cta-large h2,.page-hero h1{max-width:980px}
.about-text p:not(.eyebrow){max-width:620px}
.content-section{max-width:1280px;margin:0 auto;width:100%}
.clients-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.client-card{display:flex;flex-direction:column;min-height:360px}
.client-logo{height:130px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.client-logo img{max-width:86%;max-height:96px;width:auto;height:auto}
.client-card h3{line-height:1.15;letter-spacing:-.02em}
.client-card p{font-size:15.5px}
.contact-layout{max-width:1180px}
.contact-form,.contact-card{border-radius:6px}
.contact-form input,.contact-form textarea{border-radius:4px;font-size:16px;outline:none;transition:.2s}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(13,71,161,.08)}
.contact-form button{margin-top:8px;min-width:260px}
.contact-card h2{font-size:clamp(32px,3vw,42px);line-height:1.08}
.page-hero.clean-page{text-align:left}
.page-hero h1{font-size:clamp(34px,4.6vw,60px);line-height:1.05}
.cards-3 article,.timeline-item,.client-card{border-radius:6px}
.timeline-item h3,.cards-3 h3{line-height:1.16}
.footer{align-items:start}
.footer a{line-height:1.45}
@media(max-width:1180px){.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-content{max-width:620px}}
@media(max-width:640px){
  .clients-grid{grid-template-columns:1fr}
  .client-card{min-height:auto}
  .contact-form button{width:100%}
  .about-corporate{padding-top:76px;padding-bottom:76px}
  .cta-large h2{font-size:34px;line-height:1.08}
}


/* Catálogo de modelos */
.model-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.model-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 20px 55px rgba(15,23,42,.07);cursor:pointer;transition:.25s}.model-card:hover{transform:translateY(-6px);box-shadow:0 30px 80px rgba(15,23,42,.12)}.model-card img{width:100%;height:280px;object-fit:cover;background:#eef2f8}.model-card div{padding:24px}.model-card span{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;color:var(--blue)}.model-card h3{font-size:24px;line-height:1.12;margin:10px 0}.model-card p{color:var(--muted);line-height:1.7}.empty-state{text-align:center;color:var(--muted);font-weight:700;padding:34px}.lightbox{position:fixed;inset:0;background:rgba(3,10,22,.88);display:none;align-items:center;justify-content:center;z-index:200;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,88vw);max-height:82vh;border-radius:10px;box-shadow:0 40px 120px rgba(0,0,0,.45);background:#fff}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:#fff;color:var(--navy);cursor:pointer;box-shadow:0 20px 50px rgba(0,0,0,.25)}.lightbox-close{right:30px;top:26px;width:48px;height:48px;border-radius:50%;font-size:34px}.lightbox-nav{top:50%;transform:translateY(-50%);width:54px;height:70px;font-size:48px;border-radius:8px}.lightbox-prev{left:30px}.lightbox-next{right:30px}.lightbox-caption{position:absolute;bottom:24px;color:#fff;font-weight:800;text-align:center}
.project-link{display:inline-flex;margin-top:auto;color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.timeline-section .section-title p:last-child{color:var(--muted);line-height:1.7;margin-top:16px}.timeline-section{padding-top:70px}

/* Painel administrativo */
.admin-body{background:#eef3fb;color:var(--navy);font-family:Inter,Arial,sans-serif}.admin-shell{min-height:100vh}.admin-login{min-height:100vh;display:grid;place-items:center;padding:30px}.admin-card,.admin-content,.admin-sidebar{background:#fff;border:1px solid var(--line);box-shadow:0 28px 90px rgba(15,23,42,.12);border-radius:16px}.login-card{width:min(470px,96vw);padding:38px}.admin-logo{width:170px;background:#fff;padding:10px;border-radius:10px;margin-bottom:22px}.admin-logo.small{width:150px;margin:0 0 28px}.login-card h1{font-family:Inter,Arial,sans-serif;font-size:34px;line-height:1.05;letter-spacing:-.04em;margin-bottom:12px}.admin-muted{color:var(--muted);line-height:1.7}.admin-form{display:grid;gap:18px;margin-top:26px}.admin-form label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--navy)}.admin-form input,.admin-form textarea{width:100%;margin-top:9px;border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:15px;font:inherit;text-transform:none;letter-spacing:0}.admin-form textarea{height:120px;resize:vertical}.admin-btn{border:0;border-radius:8px;padding:15px 18px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.admin-btn.primary{background:var(--navy);color:#fff}.admin-btn.ghost{background:#eef3fb;color:var(--navy)}.admin-message{font-weight:800;margin-top:16px}.admin-message.error{color:#b91c1c}.admin-message.ok{color:#15803d}.admin-panel{display:grid;grid-template-columns:280px 1fr;min-height:100vh;gap:24px;padding:24px}.admin-sidebar{padding:24px;display:flex;flex-direction:column;gap:12px;position:sticky;top:24px;height:calc(100vh - 48px)}.admin-sidebar a,.admin-tab,.admin-logout{border:0;text-align:left;background:#f8fafc;color:var(--navy);padding:14px 16px;border-radius:10px;font-weight:900;cursor:pointer;text-transform:none}.admin-tab.active{background:var(--navy);color:#fff}.admin-logout{margin-top:auto;background:#fee2e2;color:#991b1b}.admin-content{padding:34px;overflow:hidden}.admin-top{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}.admin-top h2{font-family:Inter,Arial,sans-serif;font-size:36px;letter-spacing:-.04em}.admin-top span{background:#dcfce7;color:#166534;font-weight:900;padding:10px 14px;border-radius:999px}.admin-section{display:none}.admin-section.active{display:block}.admin-section-head{margin-bottom:20px}.admin-section-head h3{font-size:26px;margin-bottom:6px}.admin-section-head p{color:var(--muted)}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr));background:#f8fafc;border:1px solid var(--line);padding:24px;border-radius:14px}.grid-form .full{grid-column:1/-1}.admin-list{display:grid;gap:14px;margin-top:26px}.admin-row{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 12px 40px rgba(15,23,42,.06)}.admin-row img{width:110px;height:78px;object-fit:contain;background:#f8fafc;border-radius:10px}.admin-row strong{font-size:18px}.admin-row span{display:block;color:var(--blue);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin:5px 0}.admin-row p{color:var(--muted);font-size:14px;line-height:1.5}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-actions button{border:0;border-radius:8px;padding:10px 12px;font-weight:900;cursor:pointer}.admin-actions button:first-child{background:#e0ecff;color:var(--blue)}.admin-actions button:last-child{background:#fee2e2;color:#991b1b}
@media(max-width:980px){.model-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.grid-form{grid-template-columns:1fr}.admin-row{grid-template-columns:86px 1fr}.admin-actions{grid-column:1/-1;justify-content:flex-start}.admin-row img{width:86px;height:64px}.admin-top{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.model-gallery{grid-template-columns:1fr}.model-card img{height:230px}.lightbox{padding:22px}.lightbox-nav{width:44px;height:56px;font-size:38px}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-close{right:14px;top:14px}.admin-content{padding:22px}.admin-panel{padding:12px}.login-card{padding:26px}}

.admin-btn:disabled{opacity:.65;cursor:not-allowed;filter:grayscale(.2)}


/* Painel Administrativo Profissional */
.admin-auth-page,
.admin-dashboard-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .16), transparent 34%),
    linear-gradient(135deg, #eef4fb 0%, #f8fbff 44%, #ffffff 100%);
  color: #071326;
}

.auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, 560px) 1fr;
  gap: 28px;
  padding: clamp(24px, 5vw, 70px);
  align-items: center;
}

.auth-card {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .14);
  border-radius: 30px;
  padding: clamp(28px, 4vw, 54px);
}

.auth-back {
  display: inline-flex;
  align-items: center;
  margin-bottom: 28px;
  color: #0b4aa2;
  text-decoration: none;
  font-weight: 800;
}

.auth-brand img {
  width: 180px;
  max-width: 60%;
  margin-bottom: 34px;
}

.auth-card h1 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.02;
  margin: 12px 0 16px;
  letter-spacing: -1.6px;
}

.auth-card p {
  color: #667085;
  font-size: 18px;
  line-height: 1.7;
}

.auth-form {
  margin-top: 28px;
  display: grid;
  gap: 18px;
}

.auth-form label,
.admin-card label {
  display: grid;
  gap: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  color: #061225;
}

.auth-form input,
.admin-card input,
.admin-card textarea {
  width: 100%;
  border: 1px solid #dbe4ef;
  border-radius: 14px;
  padding: 16px 17px;
  font: inherit;
  font-size: 15px;
  background: #f8fafc;
  color: #061225;
  outline: none;
  transition: .2s ease;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 700;
}

.auth-form input:focus,
.admin-card input:focus,
.admin-card textarea:focus {
  background: #ffffff;
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.auth-submit {
  margin-top: 8px;
  width: 100%;
}

.auth-preview {
  min-height: 650px;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(6,18,37,.12), rgba(6,18,37,.68)),
    url("../assets/campanha-site-empresa.webp") center/cover no-repeat;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .18);
  position: relative;
  overflow: hidden;
}

.preview-glass {
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 34px;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 24px;
  padding: 30px;
}

.preview-glass span {
  color: #0b4aa2;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 12px;
}

.preview-glass h2 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.05;
  margin: 12px 0;
}

.preview-glass p {
  color: #475467;
  font-size: 17px;
  line-height: 1.6;
}

.admin-dashboard-page {
  display: grid;
  grid-template-columns: 300px 1fr;
}

.admin-sidebar {
  min-height: 100vh;
  background: #061225;
  color: #fff;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: sticky;
  top: 0;
}

.admin-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.admin-sidebar-brand img {
  width: 74px;
  height: auto;
  background: #fff;
  border-radius: 12px;
  padding: 8px;
}

.admin-sidebar-brand strong {
  display: block;
  font-size: 16px;
}

.admin-sidebar-brand span {
  color: #9fb1c8;
  font-size: 13px;
}

.admin-nav {
  display: grid;
  gap: 10px;
}

.admin-tab {
  border: 0;
  border-radius: 14px;
  padding: 15px 16px;
  background: transparent;
  color: #cbd5e1;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
  transition: .2s ease;
}

.admin-tab:hover,
.admin-tab.active {
  background: rgba(37,99,235,.22);
  color: #fff;
}

.admin-sidebar-footer {
  margin-top: auto;
  display: grid;
  gap: 10px;
}

.admin-main {
  padding: clamp(24px, 4vw, 50px);
  min-width: 0;
}

.admin-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 30px;
}

.admin-topbar h1 {
  margin: 8px 0 10px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  letter-spacing: -1.8px;
}

.admin-topbar p {
  color: #667085;
  font-size: 18px;
}

.admin-user-pill {
  white-space: nowrap;
  background: #fff;
  border: 1px solid #dbe4ef;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 800;
  color: #0b4aa2;
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
}

.admin-section {
  display: none;
}

.admin-section.active {
  display: block;
}

.admin-grid {
  display: grid;
  grid-template-columns: minmax(320px, 440px) 1fr;
  gap: 24px;
  align-items: start;
}

.admin-card {
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 26px;
  box-shadow: 0 18px 50px rgba(15,23,42,.08);
  padding: 26px;
  display: grid;
  gap: 18px;
}

.admin-card-head {
  margin-bottom: 4px;
}

.admin-card-head h2 {
  margin: 7px 0 8px;
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: -.6px;
}

.admin-card-head p {
  color: #667085;
  line-height: 1.6;
}

.admin-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-btn,
.admin-outline-btn {
  border: 0;
  border-radius: 14px;
  padding: 14px 18px;
  font-weight: 1000;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: .2s ease;
}

.admin-btn {
  background: #061225;
  color: #fff;
}

.admin-btn:hover {
  transform: translateY(-1px);
  background: #0b4aa2;
}

.admin-btn:disabled {
  opacity: .65;
  cursor: not-allowed;
  filter: grayscale(.2);
}

.admin-outline-btn {
  background: #fff;
  color: #061225;
  border: 1px solid #dbe4ef;
}

.admin-sidebar .admin-outline-btn {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.14);
  color: #fff;
}

.admin-outline-btn.danger {
  color: #ffb4b4;
}

.admin-outline-btn:hover {
  transform: translateY(-1px);
}

.admin-list-card {
  min-height: 420px;
}

.admin-list {
  display: grid;
  gap: 14px;
}

.admin-row {
  display: grid;
  grid-template-columns: 88px 1fr auto;
  gap: 16px;
  align-items: center;
  border: 1px solid #e5edf6;
  border-radius: 18px;
  padding: 14px;
  background: #f8fafc;
}

.admin-row img {
  width: 88px;
  height: 70px;
  object-fit: contain;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e5edf6;
  padding: 8px;
}

.admin-row strong {
  display: block;
  font-size: 17px;
  color: #061225;
}

.admin-row span {
  display: inline-block;
  margin: 4px 0 6px;
  color: #0b4aa2;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-row p {
  color: #667085;
  font-size: 14px;
  line-height: 1.5;
}

.admin-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-actions button {
  border: 1px solid #dbe4ef;
  background: #fff;
  color: #061225;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 900;
  cursor: pointer;
}

.admin-actions button:last-child {
  color: #b42318;
}

.admin-message {
  margin: 0;
  font-weight: 900;
  line-height: 1.45;
}

.admin-message.error {
  color: #b42318;
}

.admin-message.ok {
  color: #027a48;
}

.empty-state {
  color: #667085;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  padding: 24px;
}

@media (max-width: 980px) {
  .auth-shell {
    grid-template-columns: 1fr;
  }

  .auth-preview {
    display: none;
  }

  .admin-dashboard-page {
    display: block;
  }

  .admin-sidebar {
    position: relative;
    min-height: auto;
  }

  .admin-main {
    padding: 22px;
  }

  .admin-topbar,
  .admin-grid {
    grid-template-columns: 1fr;
    display: grid;
  }

  .admin-user-pill {
    white-space: normal;
  }

  .admin-row {
    grid-template-columns: 70px 1fr;
  }

  .admin-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}



/* ======================================================
   RN VISION - UI/UX RESPONSIVO E PAINEL PROFISSIONAL V2
   ====================================================== */

html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
}

img, video, iframe {
  max-width: 100%;
}

.section, section, .container, .wrapper, main {
  box-sizing: border-box;
}

/* Ajustes gerais para evitar textos gigantes e desalinhamento */
h1 {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

@media (max-width: 820px) {
  body {
    width: 100%;
  }

  .container,
  .section,
  section,
  header,
  footer {
    max-width: 100%;
  }

  h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.06 !important;
    letter-spacing: -1.2px !important;
  }

  h2 {
    font-size: clamp(26px, 7vw, 36px) !important;
    line-height: 1.12 !important;
  }

  p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  .hero,
  .hero-section,
  .home-hero,
  .hero-wrap,
  .hero-content,
  .hero-grid,
  .split-hero {
    min-height: auto !important;
    height: auto !important;
  }

  .hero-grid,
  .split-hero,
  .two-col,
  .grid,
  .cards-grid,
  .services-grid,
  .projects-grid,
  .about-grid,
  .process-grid,
  .contact-grid {
    grid-template-columns: 1fr !important;
  }

  .hero,
  .hero-section,
  .home-hero {
    padding-top: 98px !important;
    padding-bottom: 42px !important;
  }

  .hero-text,
  .hero-copy,
  .content,
  .section-header {
    text-align: left !important;
    max-width: 100% !important;
  }

  .hero-visual,
  .visual-card,
  .mockup-card,
  .phone-card,
  .floating-card,
  .hero-image {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
  }

  .floating-card,
  .hero-badge,
  .badge-card {
    position: relative !important;
    margin: 12px 0 !important;
  }

  nav,
  .nav,
  .navbar,
  .menu {
    max-width: 100%;
  }

  .btn,
  button,
  .cta,
  .button {
    max-width: 100%;
    white-space: normal !important;
  }

  .card,
  .service-card,
  .project-card,
  .glass-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Login profissional */
.rn-login-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 10%, rgba(37, 99, 235, .18), transparent 30%),
    linear-gradient(135deg, #f5f8ff 0%, #ffffff 52%, #edf4ff 100%);
  color: #071326;
}

.rn-login-wrap {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, 520px) 1fr;
  gap: 28px;
  padding: clamp(22px, 5vw, 60px);
}

.rn-login-card {
  align-self: center;
  background: rgba(255, 255, 255, .95);
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 34px;
  padding: clamp(28px, 5vw, 52px);
  box-shadow: 0 30px 90px rgba(15, 23, 42, .14);
}

.rn-login-back {
  display: inline-flex;
  margin-bottom: 28px;
  color: #0b4aa2;
  text-decoration: none;
  font-weight: 900;
}

.rn-login-logo {
  width: 185px;
  margin-bottom: 30px;
}

.rn-admin-kicker {
  display: inline-flex;
  color: #0b4aa2;
  background: rgba(37, 99, 235, .09);
  border: 1px solid rgba(37, 99, 235, .14);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.rn-login-card h1 {
  margin: 16px 0 12px;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: -1.7px;
}

.rn-login-card p {
  color: #667085;
  font-size: 17px;
  line-height: 1.65;
}

.rn-login-form {
  margin-top: 28px;
  display: grid;
  gap: 16px;
}

.rn-login-form label,
.rn-admin-panel label {
  display: grid;
  gap: 9px;
  color: #172033;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.rn-login-form input,
.rn-admin-panel input,
.rn-admin-panel textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d7e1ee;
  border-radius: 16px;
  background: #f8fafc;
  padding: 15px 16px;
  outline: none;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  color: #061225;
  text-transform: none;
  letter-spacing: normal;
  transition: .18s ease;
}

.rn-login-form input:focus,
.rn-admin-panel input:focus,
.rn-admin-panel textarea:focus {
  background: #ffffff;
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.rn-login-side {
  align-self: stretch;
  border-radius: 38px;
  background:
    linear-gradient(180deg, rgba(6, 18, 37, .12), rgba(6, 18, 37, .78)),
    url("../assets/campanha-site-empresa.webp") center/cover no-repeat;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .16);
  display: flex;
  align-items: flex-end;
  padding: 38px;
  min-height: 560px;
}

.rn-login-side > div {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(18px);
  border-radius: 28px;
  padding: 32px;
  max-width: 520px;
}

.rn-login-side span {
  color: #0b4aa2;
  font-weight: 1000;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
}

.rn-login-side h2 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.03;
  margin: 12px 0;
  letter-spacing: -1.5px;
}

.rn-login-side p {
  color: #667085;
  font-size: 17px;
  line-height: 1.6;
}

/* Admin app */
.rn-admin-app {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  background: #f3f6fb;
  color: #071326;
}

.rn-admin-sidebar {
  min-height: 100vh;
  background: linear-gradient(180deg, #061225 0%, #0b1d38 100%);
  color: #fff;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: sticky;
  top: 0;
}

.rn-admin-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.rn-admin-brand img {
  width: 64px;
  background: #fff;
  border-radius: 16px;
  padding: 8px;
}

.rn-admin-brand strong {
  display: block;
  font-size: 18px;
  letter-spacing: -.2px;
}

.rn-admin-brand span {
  color: #9fb1c8;
  font-size: 13px;
}

.rn-admin-menu {
  display: grid;
  gap: 8px;
}

.rn-admin-menu .admin-tab {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 16px;
  padding: 15px 16px;
  background: transparent;
  color: #cbd5e1;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
  transition: .2s ease;
}

.rn-admin-menu .admin-tab span {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.08);
}

.rn-admin-menu .admin-tab.active,
.rn-admin-menu .admin-tab:hover {
  color: #fff;
  background: rgba(37,99,235,.26);
}

.rn-admin-help {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  padding: 18px;
  margin-top: auto;
}

.rn-admin-help strong {
  display: block;
  margin-bottom: 8px;
}

.rn-admin-help p {
  color: #b8c5d6;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.rn-admin-sidebar-actions {
  display: grid;
  gap: 10px;
}

.rn-admin-content {
  padding: clamp(20px, 3vw, 42px);
  min-width: 0;
}

.rn-admin-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.rn-admin-header h1 {
  margin: 14px 0 8px;
  font-size: clamp(38px, 4.5vw, 64px);
  line-height: 1;
  letter-spacing: -2px;
}

.rn-admin-header p {
  color: #667085;
  font-size: 17px;
}

.rn-admin-user {
  background: #fff;
  border: 1px solid #dfe8f3;
  border-radius: 999px;
  padding: 12px 16px;
  color: #0b4aa2;
  font-weight: 900;
  box-shadow: 0 12px 34px rgba(15,23,42,.07);
  white-space: nowrap;
}

.rn-admin-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 22px;
}

.rn-admin-stats article {
  background: #fff;
  border: 1px solid #dfe8f3;
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 14px 40px rgba(15,23,42,.06);
}

.rn-admin-stats span {
  color: #667085;
  font-size: 12px;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .13em;
}

.rn-admin-stats strong {
  display: block;
  margin: 8px 0 5px;
  font-size: 34px;
  letter-spacing: -1px;
  color: #061225;
}

.rn-admin-stats small {
  color: #667085;
}

.admin-section {
  display: none;
}

.admin-section.active {
  display: block;
}

.rn-admin-layout {
  display: grid;
  grid-template-columns: minmax(330px, 440px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.rn-admin-panel {
  background: #fff;
  border: 1px solid #dfe8f3;
  border-radius: 26px;
  padding: 24px;
  box-shadow: 0 14px 40px rgba(15,23,42,.06);
  display: grid;
  gap: 17px;
}

.rn-panel-title span {
  color: #0b4aa2;
  font-weight: 1000;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-size: 12px;
}

.rn-panel-title h2 {
  margin: 8px 0 7px;
  font-size: 26px;
  letter-spacing: -.7px;
}

.rn-panel-title p {
  color: #667085;
  line-height: 1.55;
  font-size: 15px !important;
}

.rn-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.rn-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.rn-admin-primary,
.rn-admin-secondary {
  border-radius: 15px;
  padding: 14px 18px;
  border: 0;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: 1000;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: .18s ease;
}

.rn-admin-primary {
  background: #061225;
  color: #fff;
  box-shadow: 0 12px 28px rgba(6,18,37,.16);
}

.rn-admin-primary:hover {
  transform: translateY(-1px);
  background: #0b4aa2;
}

.rn-admin-primary:disabled {
  opacity: .65;
  cursor: not-allowed;
}

.rn-admin-secondary {
  background: #fff;
  color: #061225;
  border: 1px solid #d7e1ee;
}

.rn-admin-sidebar .rn-admin-secondary {
  background: rgba(255,255,255,.08);
  color: #fff;
  border-color: rgba(255,255,255,.14);
}

.rn-admin-secondary.danger {
  color: #ffb4b4;
}

.rn-admin-list {
  display: grid;
  gap: 13px;
  max-height: 680px;
  overflow: auto;
  padding-right: 4px;
}

.rn-admin-list .admin-row,
.admin-row {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e3ebf5;
  border-radius: 20px;
  padding: 14px;
}

.admin-row img {
  width: 86px;
  height: 70px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #e3ebf5;
  border-radius: 14px;
  padding: 8px;
}

.admin-row strong {
  display: block;
  color: #061225;
  font-size: 16px;
}

.admin-row span {
  display: inline-flex;
  margin: 5px 0;
  color: #0b4aa2;
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-row p {
  color: #667085;
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 0;
}

.admin-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-actions button {
  border: 1px solid #d7e1ee;
  background: #fff;
  color: #061225;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 900;
  cursor: pointer;
}

.admin-actions button:last-child {
  color: #b42318;
}

.admin-message.error {
  color: #b42318;
}

.admin-message.ok {
  color: #027a48;
}

.empty-state {
  color: #667085;
  background: #f8fafc;
  border: 1px dashed #c4d0df;
  border-radius: 18px;
  padding: 22px;
}

/* Responsivo do painel */
@media (max-width: 1080px) {
  .rn-admin-app {
    grid-template-columns: 1fr;
  }

  .rn-admin-sidebar {
    min-height: auto;
    position: relative;
    border-radius: 0 0 26px 26px;
  }

  .rn-admin-help {
    display: none;
  }

  .rn-admin-sidebar-actions,
  .rn-admin-menu {
    grid-template-columns: 1fr 1fr;
  }

  .rn-admin-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .rn-login-wrap {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .rn-login-card {
    border-radius: 26px;
    padding: 24px;
  }

  .rn-login-side {
    display: none;
  }

  .rn-login-logo {
    width: 150px;
  }

  .rn-admin-sidebar {
    padding: 18px;
    gap: 18px;
  }

  .rn-admin-brand img {
    width: 54px;
  }

  .rn-admin-sidebar-actions,
  .rn-admin-menu,
  .rn-admin-stats,
  .rn-form-grid {
    grid-template-columns: 1fr;
  }

  .rn-admin-content {
    padding: 16px;
  }

  .rn-admin-header {
    display: grid;
  }

  .rn-admin-header h1 {
    font-size: 36px !important;
  }

  .rn-admin-user {
    white-space: normal;
    width: 100%;
    box-sizing: border-box;
  }

  .rn-admin-panel {
    padding: 18px;
    border-radius: 22px;
  }

  .rn-actions {
    display: grid;
  }

  .rn-admin-primary,
  .rn-admin-secondary {
    width: 100%;
  }

  .rn-admin-list {
    max-height: none;
  }

  .rn-admin-list .admin-row,
  .admin-row {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .admin-row img {
    width: 74px;
    height: 62px;
  }

  .admin-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .admin-actions button {
    width: 100%;
  }
}

/* Correções específicas para mobile do site */
@media (max-width: 640px) {
  body {
    font-size: 16px;
  }

  .section,
  section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .hero,
  .hero-section,
  .home-hero {
    overflow: hidden;
  }

  .hero img,
  .hero-section img,
  .home-hero img {
    height: auto !important;
  }

  .hero .btn,
  .hero-section .btn,
  .home-hero .btn {
    width: 100%;
    justify-content: center;
  }
}


/* ======================================================
   CORREÇÃO DEFINITIVA DA HOME NO CELULAR - RN VISION
   ====================================================== */

@media (max-width: 768px) {
  body {
    overflow-x: hidden !important;
  }

  .site-header,
  header,
  .header,
  .navbar {
    min-height: 72px !important;
    height: auto !important;
    padding: 12px 18px !important;
  }

  .logo,
  .brand,
  .site-logo,
  .navbar-brand {
    max-width: 142px !important;
    width: auto !important;
    height: auto !important;
  }

  .logo img,
  .brand img,
  .site-logo img,
  .navbar-brand img,
  header img {
    max-width: 142px !important;
    height: auto !important;
  }

  .menu-toggle,
  .hamburger,
  .mobile-menu-btn {
    position: absolute !important;
    top: 22px !important;
    right: 18px !important;
    z-index: 50 !important;
  }

  .hero,
  .home-hero,
  .hero-section,
  .hero-banner {
    min-height: auto !important;
    height: auto !important;
    padding: 96px 18px 42px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 22px !important;
    overflow: hidden !important;
  }

  .hero .container,
  .home-hero .container,
  .hero-section .container,
  .hero-inner,
  .hero-wrap,
  .hero-grid,
  .hero-content,
  .hero-layout,
  .split-hero {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 22px !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  .hero-text,
  .hero-copy,
  .hero-info,
  .hero-left {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 3 !important;
  }

  .hero-visual,
  .hero-image,
  .mockup-card,
  .visual-card,
  .hero-right,
  .device-showcase,
  .showcase-frame {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    z-index: 2 !important;
  }

  .hero-visual img,
  .hero-image img,
  .mockup-card img,
  .visual-card img,
  .device-showcase img,
  .showcase-frame img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 260px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .hero h1,
  .home-hero h1,
  .hero-section h1,
  .hero-title,
  h1.hero-title {
    font-size: clamp(38px, 11vw, 46px) !important;
    line-height: 1.04 !important;
    letter-spacing: -1.4px !important;
    max-width: 100% !important;
    margin: 12px 0 18px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: left !important;
  }

  .hero p,
  .home-hero p,
  .hero-section p,
  .hero-description,
  .hero-subtitle {
    font-size: 17px !important;
    line-height: 1.62 !important;
    max-width: 100% !important;
    margin: 0 0 22px !important;
    text-align: left !important;
  }

  .eyebrow,
  .tagline,
  .hero-kicker,
  .section-kicker {
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
    margin-bottom: 10px !important;
  }

  .hero-actions,
  .hero-buttons,
  .cta-group,
  .buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 20px !important;
  }

  .hero-actions a,
  .hero-buttons a,
  .cta-group a,
  .buttons a,
  .hero .btn,
  .home-hero .btn,
  .hero-section .btn {
    width: 100% !important;
    min-height: 54px !important;
    padding: 15px 18px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    font-size: 14px !important;
    letter-spacing: .08em !important;
    box-sizing: border-box !important;
  }

  .floating-card,
  .hero-card,
  .badge-card,
  .info-card,
  .specialty-card,
  .mini-card {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
  }

  .floating-card h3,
  .hero-card h3,
  .badge-card h3,
  .info-card h3,
  .specialty-card h3,
  .mini-card h3 {
    font-size: 22px !important;
    line-height: 1.16 !important;
  }

  .whatsapp-float,
  .float-whatsapp,
  .floating-whatsapp {
    width: 58px !important;
    height: 58px !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 80 !important;
  }
}

@media (max-width: 420px) {
  .hero h1,
  .home-hero h1,
  .hero-section h1,
  .hero-title,
  h1.hero-title {
    font-size: 38px !important;
  }

  .hero p,
  .home-hero p,
  .hero-section p,
  .hero-description,
  .hero-subtitle {
    font-size: 16px !important;
  }

  .logo img,
  .brand img,
  .site-logo img,
  .navbar-brand img,
  header img {
    max-width: 124px !important;
  }

  .hero-visual img,
  .hero-image img,
  .mockup-card img,
  .visual-card img,
  .device-showcase img,
  .showcase-frame img {
    max-height: 220px !important;
  }
}


/* ======================================================
   MOBILE: REMOVER MOCKUP/IMAGEM GRANDE DA HOME
   ====================================================== */
@media (max-width: 768px) {
  /* Esconde somente a arte/mockup grande da página inicial no celular */
  .rn-home-page .hero-visual,
  .rn-home-page .hero-image,
  .rn-home-page .hero-right,
  .rn-home-page .mockup-card,
  .rn-home-page .visual-card,
  .rn-home-page .device-showcase,
  .rn-home-page .showcase-frame,
  .rn-home-page .hero-media,
  .rn-home-page .home-visual,
  .rn-home-page .hero .image-wrap,
  .rn-home-page .hero-section .image-wrap,
  .rn-home-page .home-hero .image-wrap {
    display: none !important;
  }

  /* Caso a imagem esteja solta dentro da hero, remove apenas imagens grandes do topo */
  .rn-home-page .hero > img,
  .rn-home-page .home-hero > img,
  .rn-home-page .hero-section > img,
  .rn-home-page .hero .container > img,
  .rn-home-page .home-hero .container > img,
  .rn-home-page .hero-section .container > img {
    display: none !important;
  }

  .rn-home-page .hero,
  .rn-home-page .home-hero,
  .rn-home-page .hero-section {
    padding: 118px 22px 46px !important;
    min-height: auto !important;
    height: auto !important;
    display: block !important;
    text-align: left !important;
  }

  .rn-home-page .hero .container,
  .rn-home-page .home-hero .container,
  .rn-home-page .hero-section .container,
  .rn-home-page .hero-inner,
  .rn-home-page .hero-grid,
  .rn-home-page .hero-content,
  .rn-home-page .split-hero {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .rn-home-page .hero h1,
  .rn-home-page .home-hero h1,
  .rn-home-page .hero-section h1,
  .rn-home-page .hero-title {
    font-size: 40px !important;
    line-height: 1.08 !important;
    letter-spacing: -1.2px !important;
    max-width: 100% !important;
    margin: 12px 0 18px !important;
  }

  .rn-home-page .hero p,
  .rn-home-page .home-hero p,
  .rn-home-page .hero-section p,
  .rn-home-page .hero-description,
  .rn-home-page .hero-subtitle {
    font-size: 16px !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
    margin-bottom: 22px !important;
  }

  .rn-home-page .hero-actions,
  .rn-home-page .hero-buttons,
  .rn-home-page .cta-group {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .rn-home-page .hero-actions a,
  .rn-home-page .hero-buttons a,
  .rn-home-page .cta-group a,
  .rn-home-page .hero .btn,
  .rn-home-page .home-hero .btn,
  .rn-home-page .hero-section .btn {
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 18px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 420px) {
  .rn-home-page .hero h1,
  .rn-home-page .home-hero h1,
  .rn-home-page .hero-section h1,
  .rn-home-page .hero-title {
    font-size: 36px !important;
  }
}

/* ======================================================
   HOME REMODELADA COM MASCOTE RN VISION PIRA
   ====================================================== */
.rn-home-page .home-hero-remodelada{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:132px 5vw 72px;
  background:
    linear-gradient(90deg, rgba(247,250,255,.98) 0%, rgba(247,250,255,.92) 28%, rgba(247,250,255,.28) 49%, rgba(247,250,255,0) 66%),
    url('../assets/banner-home-rnvisionpira.png') center right/cover no-repeat;
  color:var(--navy);
  overflow:hidden;
}
.rn-home-page .home-hero-remodelada::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:120px;
  background:linear-gradient(0deg,var(--bg),rgba(245,246,248,0));
  pointer-events:none;
  z-index:1;
}
.rn-home-page .home-hero-remodelada .hero-content{
  width:min(620px,42vw);
  max-width:620px;
  position:relative;
  z-index:2;
  padding:34px 0;
}
.rn-home-page .home-hero-remodelada .eyebrow{
  color:var(--blue);
  margin-bottom:18px;
}
.rn-home-page .home-hero-remodelada h1{
  color:var(--navy);
  font-family:Inter,system-ui,sans-serif;
  font-size:clamp(42px,4.7vw,72px);
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:900;
  max-width:620px;
}
.rn-home-page .home-hero-remodelada .hero-text{
  color:#4b5563;
  max-width:540px;
  font-size:18px;
  line-height:1.75;
  margin-top:24px;
}
.rn-home-page .home-hero-remodelada .btn.primary{
  background:linear-gradient(135deg,var(--blue),#08265d);
  color:#fff;
  border:1px solid rgba(13,71,161,.12);
  border-radius:14px;
  box-shadow:0 18px 38px rgba(13,71,161,.20);
}
.rn-home-page .home-hero-remodelada .btn.ghost{
  color:var(--navy);
  background:rgba(255,255,255,.74);
  border:1px solid rgba(13,71,161,.18);
  border-radius:14px;
}
.rn-home-page .home-hero-remodelada .hero-trust-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.rn-home-page .home-hero-remodelada .hero-trust-list span{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(13,71,161,.14);
  color:#334155;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.rn-home-page .topbar:not(.scrolled) .nav{color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.24)}
.rn-home-page .topbar:not(.scrolled) .nav-cta{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08)}

@media(max-width:1180px){
  .rn-home-page .home-hero-remodelada{
    background:
      linear-gradient(90deg, rgba(247,250,255,.99) 0%, rgba(247,250,255,.88) 37%, rgba(247,250,255,.14) 68%, rgba(247,250,255,0) 100%),
      url('../assets/banner-home-rnvisionpira.png') center right/cover no-repeat;
  }
  .rn-home-page .home-hero-remodelada .hero-content{width:min(590px,50vw)}
}

@media(max-width:768px){
  .rn-home-page .home-hero-remodelada{
    min-height:auto !important;
    display:flex !important;
    padding:60vh 18px 52px !important;
    background:
      linear-gradient(180deg, rgba(247,250,255,0) 0%, rgba(247,250,255,0) 42%, rgba(247,250,255,.96) 63%, #f7faff 100%),
      url('../assets/banner-home-rnvisionpira.png') 66% top/auto 62vh no-repeat !important;
  }
  .rn-home-page .home-hero-remodelada .hero-content{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    z-index:3 !important;
  }
  .rn-home-page .home-hero-remodelada h1{
    font-size:clamp(36px,10vw,46px) !important;
    letter-spacing:-.045em !important;
  }
  .rn-home-page .home-hero-remodelada .hero-text{
    color:#4b5563 !important;
    margin-top:16px !important;
  }
  .rn-home-page .home-hero-remodelada .hero-trust-list{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* ======================================================
   LETREIRO PREMIUM - DIFERENCIAIS RN VISION
   ====================================================== */
.rn-home-page .premium-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:14px 0;
  background:linear-gradient(90deg,#071326 0%,#0a234c 48%,#071326 100%);
  border-top:1px solid rgba(13,71,161,.18);
  border-bottom:1px solid rgba(229,57,53,.18);
  box-shadow:0 18px 60px rgba(7,19,38,.12);
  white-space:nowrap;
}
.rn-home-page .premium-marquee::before,
.rn-home-page .premium-marquee::after{
  content:"";
  position:absolute;
  top:0;
  width:110px;
  height:100%;
  z-index:2;
  pointer-events:none;
}
.rn-home-page .premium-marquee::before{
  left:0;
  background:linear-gradient(90deg,#071326,rgba(7,19,38,0));
}
.rn-home-page .premium-marquee::after{
  right:0;
  background:linear-gradient(270deg,#071326,rgba(7,19,38,0));
}
.rn-home-page .marquee-track{
  display:inline-flex;
  align-items:center;
  gap:34px;
  min-width:max-content;
  animation:rnMarquee 34s linear infinite;
}
.rn-home-page .marquee-track span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#ffffff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.94;
}
.rn-home-page .marquee-track span::after{
  content:"";
  width:5px;
  height:5px;
  margin-left:26px;
  border-radius:50%;
  background:linear-gradient(135deg,#1e88ff,#e53935);
  box-shadow:0 0 16px rgba(30,136,255,.55);
}
@keyframes rnMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:768px){
  .rn-home-page .premium-marquee{padding:12px 0}
  .rn-home-page .marquee-track{gap:26px;animation-duration:28s}
  .rn-home-page .marquee-track span{font-size:11px;letter-spacing:.08em}
}

/* ======================================================
   Atualizações RN VISION PIRA - banner, logo, sobre, links e categorias
   ====================================================== */
.brand{
  width:190px;
  height:78px;
  background:rgba(3,7,15,.92);
  border:1px solid rgba(255,255,255,.10);
  border-radius:0 0 24px 24px;
  padding:9px 14px;
  box-shadow:0 18px 46px rgba(0,0,0,.20);
}
.brand img{max-height:58px;width:100%;object-fit:contain}
.footer img{
  width:190px;
  max-width:100%;
  background:transparent;
  padding:0;
  margin-bottom:18px;
}
.rn-admin-brand img,
.rn-login-logo,
.admin-logo,
.auth-brand img{
  object-fit:contain;
}
.rn-home-page .home-hero-remodelada{
  background:
    linear-gradient(90deg, rgba(247,250,255,.98) 0%, rgba(247,250,255,.92) 30%, rgba(247,250,255,.35) 52%, rgba(247,250,255,0) 72%),
    url('../assets/banner-home-rnvisionpira.png') center right/cover no-repeat !important;
}
.rn-home-page .topbar:not(.scrolled) .brand{background:rgba(3,7,15,.82)}
.rn-home-page .topbar.scrolled .brand,
.topbar.solid .brand{background:rgba(3,7,15,.92)}
.sobre-hero .page-grid{
  grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);
}
.about-profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:stretch;
}
.profile-card{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  background:#071426;
  padding:8px;
  box-shadow:0 28px 80px rgba(15,23,42,.15);
}
.profile-card img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  border-radius:12px;
}
.category-filter{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 0 30px;
}
.category-button{
  border:1px solid rgba(13,71,161,.18);
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  padding:13px 18px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.09em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.22s ease;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}
.category-button:hover,
.category-button.active{
  background:linear-gradient(135deg,var(--navy),var(--blue));
  color:#fff;
  border-color:transparent;
  transform:translateY(-2px);
}
.rn-admin-stats{grid-template-columns:repeat(4,1fr)}
.rn-admin-panel select{
  width:100%;
  border:1px solid #dbe4ef;
  border-radius:14px;
  padding:16px 17px;
  font:inherit;
  font-size:15px;
  background:#f8fafc;
  color:#061225;
  outline:none;
  transition:.2s ease;
  font-weight:700;
}
.rn-admin-panel select:focus{
  background:#fff;
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}
.category-row{grid-template-columns:70px 1fr auto}
.category-badge{
  width:64px;
  height:64px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#071426,#0d47a1);
  color:#fff;
  font-weight:1000;
  font-size:28px;
}
@media(max-width:1180px){
  .rn-admin-stats{grid-template-columns:repeat(2,1fr)}
  .sobre-hero .page-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .brand{width:158px;height:66px;border-radius:0 0 20px 20px}
  .rn-home-page .home-hero-remodelada{
    padding:58vh 18px 52px !important;
    background:
      linear-gradient(180deg, rgba(247,250,255,0) 0%, rgba(247,250,255,0) 40%, rgba(247,250,255,.96) 64%, #f7faff 100%),
      url('../assets/banner-home-rnvisionpira.png') 68% top/auto 60vh no-repeat !important;
  }
  .about-profile-grid{grid-template-columns:1fr}
  .profile-card img{min-height:auto;height:auto}
  .category-filter{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
  .category-button{white-space:nowrap}
  .rn-admin-stats{grid-template-columns:1fr}
  .category-row{grid-template-columns:58px 1fr}
  .category-row .admin-actions{grid-column:1/-1;justify-content:flex-start}
  .category-badge{width:54px;height:54px;border-radius:15px;font-size:24px}
}

/* ======================================================
   AJUSTES FINOS - logo sem fundo preto e imagens completas no sobre
   ====================================================== */
.brand,
.rn-home-page .topbar:not(.scrolled) .brand,
.rn-home-page .topbar.scrolled .brand,
.topbar.solid .brand{
  background:#ffffff !important;
  border:1px solid rgba(7,20,38,.10) !important;
  border-radius:16px !important;
  box-shadow:0 16px 44px rgba(15,23,42,.12) !important;
  width:210px !important;
  height:auto !important;
  min-height:78px !important;
  padding:12px 18px !important;
}
.brand img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}
.footer img{
  width:190px !important;
  max-width:100%;
  background:#ffffff !important;
  padding:10px 14px !important;
  border-radius:12px;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.sobre-hero .page-grid{
  align-items:start !important;
  grid-template-columns:minmax(0,1fr) minmax(420px,560px) !important;
}
.about-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}
.page-photo.profile-card,
.about-profile-grid .profile-card{
  padding:10px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#071426 !important;
}
.about-profile-grid .profile-card img,
.page-photo.profile-card img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center top !important;
  border-radius:12px;
  display:block;
}
@media (max-width: 1180px){
  .sobre-hero .page-grid{
    grid-template-columns:1fr !important;
  }
}
@media (max-width: 768px){
  .brand,
  .rn-home-page .topbar:not(.scrolled) .brand,
  .rn-home-page .topbar.scrolled .brand,
  .topbar.solid .brand{
    width:164px !important;
    min-height:64px !important;
    padding:10px 14px !important;
    border-radius:14px !important;
  }
  .about-profile-grid{
    grid-template-columns:1fr !important;
  }
}


/* ======================================================
   AJUSTES - sobre com Rennan em cima e Cecilia embaixo + categorias admin
   ====================================================== */
.sobre-hero .page-grid{
  align-items:start !important;
}
.about-profile-grid{
  grid-template-columns:1fr !important;
  max-width:430px;
  margin-left:auto;
}
.profile-card{
  width:100%;
}
.rn-category-viewer{
  margin:8px 0 22px;
  padding:18px 20px;
  border:1px solid #dbe4ef;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff,#eef4fb);
  box-shadow:0 18px 40px rgba(15,23,42,.06);
}
.rn-category-viewer strong{
  display:block;
  font-size:20px;
  color:#061225;
  margin-bottom:10px;
}
.rn-category-viewer p{
  margin:6px 0;
  color:#475467;
  line-height:1.65;
}
.rn-category-viewer-badge{
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background:#061225;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
#categoriesAdminList .admin-actions{
  gap:6px;
}
#categoriesAdminList .admin-actions button:first-child{
  background:#e8f1ff;
  color:#0d47a1;
}
@media (max-width:1180px){
  .about-profile-grid{
    margin-left:0;
    max-width:100%;
  }
}


/* ======================================================
   AJUSTE DE LAYOUT - texto centralizado e imagens lado a lado abaixo
   ====================================================== */
.sobre-layout-centralizado{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:36px !important;
}
.sobre-copy-centralizada{
  width:min(860px,100%);
  text-align:center;
  margin:0 auto;
}
.sobre-copy-centralizada .eyebrow{
  justify-content:center;
}
.sobre-copy-centralizada h1{
  max-width:920px;
  margin:0 auto;
}
.sobre-copy-centralizada p:not(.eyebrow){
  max-width:760px !important;
  margin:22px auto 0 !important;
}
.about-profile-grid-inline{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(280px,1fr)) !important;
  gap:24px !important;
  width:min(920px,100%);
  max-width:920px !important;
  margin:0 auto !important;
}
.about-profile-grid-inline .profile-card{
  margin:0 !important;
  width:100%;
}
@media (max-width: 900px){
  .about-profile-grid-inline{
    grid-template-columns:1fr !important;
    max-width:430px !important;
  }
}



/* ======================================================
   MOBILE - letreiro logo abaixo do banner na home
   ====================================================== */
.rn-home-page .premium-marquee-mobile{
  display:none;
}

@media(max-width:768px){
  .rn-home-page .premium-marquee-mobile{
    display:block !important;
    margin:0 0 18px 0 !important;
    border-radius:14px !important;
    overflow:hidden !important;
    box-shadow:0 14px 34px rgba(7,19,38,.12) !important;
  }

  .rn-home-page > main > .premium-marquee:not(.premium-marquee-mobile){
    display:none !important;
  }

  .rn-home-page .home-hero-remodelada{
    padding:56vh 18px 40px !important;
  }

  .rn-home-page .home-hero-remodelada .hero-content{
    padding-top:0 !important;
  }

  .rn-home-page .home-hero-remodelada .premium-marquee-mobile .marquee-track{
    animation-duration:26s !important;
  }
}



/* ======================================================
   MOBILE - letreiro ocupando a largura total da tela
   ====================================================== */
@media(max-width:768px){
  .rn-home-page .home-hero-remodelada{
    overflow:visible !important;
  }

  .rn-home-page .home-hero-remodelada .premium-marquee-mobile{
    width:calc(100% + 36px) !important;
    max-width:none !important;
    margin:0 0 18px -18px !important;
    border-radius:0 !important;
    box-shadow:0 10px 28px rgba(7,19,38,.12) !important;
  }

  .rn-home-page .home-hero-remodelada .premium-marquee-mobile::before,
  .rn-home-page .home-hero-remodelada .premium-marquee-mobile::after{
    width:72px !important;
  }
}



/* ======================================================
   UPGRADE PREMIUM RN VISION - visual de alto padrão
   ====================================================== */
:root{
  --premium-blue:#0b57ff;
  --premium-red:#ff1f3d;
  --premium-dark:#020817;
  --premium-glow:0 28px 90px rgba(13,71,161,.18);
}

/* textura sutil e profundidade */
body{
  background:
    radial-gradient(circle at 10% 0%, rgba(13,71,161,.08), transparent 26%),
    radial-gradient(circle at 90% 8%, rgba(229,57,53,.07), transparent 24%),
    linear-gradient(180deg,#f7faff 0%, #eef3fb 45%, #f8fafc 100%) !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(7,20,38,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,20,38,.035) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at center, black 0%, transparent 78%);
}

/* Header mais premium */
.topbar{
  backdrop-filter:blur(18px);
}
.topbar.scrolled,
.topbar.solid{
  background:rgba(255,255,255,.82) !important;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.brand{
  transition:transform .25s ease, box-shadow .25s ease;
}
.brand:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 70px rgba(13,71,161,.18) !important;
}

/* Hero com profundidade e brilho */
.rn-home-page .home-hero-remodelada{
  isolation:isolate;
}
.rn-home-page .home-hero-remodelada::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 18%, rgba(11,87,255,.16), transparent 24%),
    radial-gradient(circle at 94% 28%, rgba(255,31,61,.13), transparent 22%),
    linear-gradient(120deg, rgba(255,255,255,.12), transparent 35%);
}
.rn-home-page .home-hero-remodelada .hero-content{
  animation:premiumHeroIn .9s cubic-bezier(.2,.8,.2,1) both;
}
.rn-home-page .home-hero-remodelada h1{
  text-wrap:balance;
  text-shadow:0 10px 35px rgba(7,20,38,.08);
}
.rn-home-page .home-hero-remodelada .hero-text{
  text-wrap:pretty;
}

/* Botões premium */
.btn,
.link-btn,
.nav-cta{
  position:relative;
  overflow:hidden;
}
.btn::before,
.link-btn::before,
.nav-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  transform:translateX(-120%);
  transition:.55s ease;
}
.btn:hover::before,
.link-btn:hover::before,
.nav-cta:hover::before{
  transform:translateX(120%);
}
.btn:hover{
  transform:translateY(-3px);
}
.rn-home-page .home-hero-remodelada .btn.primary{
  background:linear-gradient(135deg,#0b57ff 0%, #092b67 100%) !important;
  box-shadow:0 24px 60px rgba(11,87,255,.24) !important;
}

/* Seções com acabamento corporativo */
.about-corporate,
.content-section,
.cta-large{
  position:relative;
}
.about-corporate{
  background:
    radial-gradient(circle at 90% 12%, rgba(13,71,161,.07), transparent 24%),
    #fff !important;
}
.about-corporate::before,
.content-section::before{
  content:"";
  position:absolute;
  left:5vw;
  right:5vw;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(13,71,161,.18), rgba(229,57,53,.16), transparent);
}

/* Cards com efeito premium */
.stats-board,
.text-panel,
.cards-3 article,
.timeline-item,
.client-card,
.contact-card,
.contact-form,
.model-card{
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.08) !important;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.cards-3 article:hover,
.timeline-item:hover,
.client-card:hover,
.model-card:hover{
  transform:translateY(-8px);
  box-shadow:0 34px 100px rgba(13,71,161,.16) !important;
  border-color:rgba(13,71,161,.18) !important;
}
.stats-board div{
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,251,255,.92));
  transition:.25s ease;
}
.stats-board div:hover{
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(13,71,161,.10), 0 24px 60px rgba(13,71,161,.08);
}

/* Títulos mais sofisticados */
h1,h2,h3{
  text-wrap:balance;
}
.section-title.center h2,
.about-text h2,
.cta-large h2{
  letter-spacing:-.055em;
}

/* Letreiro mais high-end */
.rn-home-page .premium-marquee{
  background:
    linear-gradient(90deg,#020817 0%, #082a62 42%, #130510 62%, #020817 100%) !important;
  box-shadow:0 24px 80px rgba(7,19,38,.18);
}
.rn-home-page .premium-marquee::before{
  background:linear-gradient(90deg,#020817,rgba(2,8,23,0)) !important;
}
.rn-home-page .premium-marquee::after{
  background:linear-gradient(270deg,#020817,rgba(2,8,23,0)) !important;
}

/* Página Sobre com layout mais premium */
.sobre-hero{
  background:
    radial-gradient(circle at 85% 12%, rgba(13,71,161,.10), transparent 30%),
    linear-gradient(135deg,#f8fbff,#eef4fb) !important;
}
.profile-card{
  position:relative;
  border:1px solid rgba(255,255,255,.14);
}
.profile-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(11,87,255,.65), transparent 40%, rgba(255,31,61,.5));
  opacity:.25;
  pointer-events:none;
}

/* Página Links ainda mais impactante */
.links-card{
  transform-style:preserve-3d;
}
.links-card .hero-banner{
  animation:premiumHeroIn .9s cubic-bezier(.2,.8,.2,1) both;
}

/* Reveal ao rolar */
.premium-reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1);
}
.premium-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Inputs premium */
input, textarea, select{
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:focus, textarea:focus, select:focus{
  border-color:rgba(13,71,161,.55) !important;
  box-shadow:0 0 0 4px rgba(13,71,161,.12) !important;
  outline:none !important;
}

/* Footer mais elegante */
.footer{
  background:
    radial-gradient(circle at 20% 0%, rgba(11,87,255,.18), transparent 24%),
    radial-gradient(circle at 90% 0%, rgba(255,31,61,.14), transparent 22%),
    #020817 !important;
  border-top:1px solid rgba(255,255,255,.08);
}

/* Micro animações */
@keyframes premiumHeroIn{
  from{opacity:0;transform:translateY(24px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:768px){
  .rn-home-page .home-hero-remodelada h1{
    text-shadow:0 10px 30px rgba(7,20,38,.10);
  }
  .about-corporate::before,
  .content-section::before{
    left:22px;
    right:22px;
  }
  .cards-3 article:hover,
  .timeline-item:hover,
  .client-card:hover,
  .model-card:hover{
    transform:none;
  }
}



/* ======================================================
   RN VISION ULTRA PREMIUM V2 - efeitos nível alto padrão
   ====================================================== */

/* barra de progresso no topo */
.rn-scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:0%;
  height:4px;
  z-index:9999;
  background:linear-gradient(90deg,#0b57ff,#ffffff,#ff1f3d);
  box-shadow:0 0 18px rgba(11,87,255,.65);
  pointer-events:none;
}

/* cursor glow */
.rn-cursor-glow{
  position:fixed;
  width:340px;
  height:340px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(11,87,255,.13), rgba(255,31,61,.07) 36%, transparent 68%);
  filter:blur(10px);
  mix-blend-mode:multiply;
  opacity:.85;
}

/* fundo com partículas */
#rn-premium-particles{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:0;
  opacity:.55;
}
body > *:not(.rn-scroll-progress):not(.rn-cursor-glow):not(#rn-premium-particles){
  position:relative;
  z-index:2;
}

/* linhas luminosas no hero */
.rn-home-page .home-hero-remodelada{
  position:relative;
}
.rn-home-page .home-hero-remodelada .hero-content::before{
  content:"";
  position:absolute;
  left:-22px;
  top:4px;
  width:5px;
  height:88px;
  border-radius:999px;
  background:linear-gradient(180deg,#0b57ff,#ff1f3d);
  box-shadow:0 0 28px rgba(11,87,255,.45);
  animation:rnLinePulse 2.8s ease-in-out infinite;
}
.rn-home-page .home-hero-remodelada h1{
  background:linear-gradient(135deg,#061225 0%, #0d47a1 55%, #061225 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}

/* brilho animado nos botões */
.btn.primary,
.nav-cta,
.link-btn{
  isolation:isolate;
}
.btn.primary::after,
.nav-cta::after,
.link-btn::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  border-radius:inherit;
  background:linear-gradient(120deg,#0b57ff,#ffffff,#ff1f3d,#0b57ff);
  background-size:280% 280%;
  opacity:0;
  filter:blur(12px);
  transition:.3s ease;
  animation:rnGradientMove 5s linear infinite;
}
.btn.primary:hover::after,
.nav-cta:hover::after,
.link-btn:hover::after{
  opacity:.55;
}

/* glass cards de alto padrão */
.stats-board,
.text-panel,
.cards-3 article,
.timeline-item,
.client-card,
.contact-card,
.contact-form,
.model-card{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.86) !important;
  backdrop-filter:blur(14px);
}
.stats-board::before,
.text-panel::before,
.cards-3 article::before,
.timeline-item::before,
.client-card::before,
.contact-card::before,
.contact-form::before,
.model-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.42), transparent 38%, rgba(13,71,161,.055));
  pointer-events:none;
}
.cards-3 article::after,
.timeline-item::after,
.model-card::after,
.client-card::after{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  right:-90px;
  top:-90px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(11,87,255,.16), transparent 68%);
  transition:.32s ease;
}
.cards-3 article:hover::after,
.timeline-item:hover::after,
.model-card:hover::after,
.client-card:hover::after{
  right:-55px;
  top:-55px;
  background:radial-gradient(circle, rgba(255,31,61,.16), rgba(11,87,255,.11), transparent 70%);
}

/* borda correndo em cards */
.cards-3 article,
.timeline-item,
.model-card,
.client-card{
  --rn-angle:0deg;
}
.cards-3 article:hover,
.timeline-item:hover,
.model-card:hover,
.client-card:hover{
  border-color:transparent !important;
}
.cards-3 article:hover::before,
.timeline-item:hover::before,
.model-card:hover::before,
.client-card:hover::before{
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(from var(--rn-angle), #0b57ff, transparent 24%, #ff1f3d, transparent 62%, #0b57ff) border-box;
  border:1px solid transparent;
  animation:rnSpinBorder 2.5s linear infinite;
}

/* títulos com linha premium */
.section-title.center,
.about-text,
.content-section > div:first-child{
  position:relative;
}
.section-title.center::after,
.about-text::after,
.content-section > div:first-child::after{
  content:"";
  display:block;
  width:86px;
  height:4px;
  border-radius:999px;
  margin-top:22px;
  background:linear-gradient(90deg,#0b57ff,#ff1f3d);
  box-shadow:0 0 18px rgba(11,87,255,.25);
}
.section-title.center::after{
  margin-left:auto;
  margin-right:auto;
}

/* faixa CTA cinematográfica */
.cta-large{
  overflow:hidden;
  isolation:isolate;
}
.cta-large::before{
  content:"";
  position:absolute;
  inset:-40%;
  z-index:-1;
  background:
    conic-gradient(from 180deg, rgba(11,87,255,.24), rgba(255,31,61,.18), rgba(255,255,255,.06), rgba(11,87,255,.24));
  animation:rnSlowRotate 16s linear infinite;
}
.cta-large::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  background:linear-gradient(135deg,#020817,#0d47a1);
}

/* letreiro com brilho pulsante */
.rn-home-page .premium-marquee{
  position:relative;
}
.rn-home-page .premium-marquee .marquee-track{
  filter:drop-shadow(0 0 10px rgba(255,255,255,.14));
}
.rn-home-page .premium-marquee::selection{background:transparent}

/* imagens da página sobre com efeito */
.about-profile-grid .profile-card{
  transform-style:preserve-3d;
  transition:transform .28s ease, box-shadow .28s ease;
}
.about-profile-grid .profile-card:hover{
  transform:translateY(-8px) rotateX(2deg);
  box-shadow:0 34px 100px rgba(13,71,161,.22) !important;
}
.about-profile-grid .profile-card img{
  transition:transform .45s ease, filter .45s ease;
}
.about-profile-grid .profile-card:hover img{
  transform:scale(1.025);
  filter:contrast(1.04) saturate(1.05);
}

/* página links mais premium ainda */
.links-card{
  box-shadow:0 40px 140px rgba(0,0,0,.65) !important;
}
.hero-banner::before{
  animation:heroSweep 4.5s ease-in-out infinite !important;
}
.feature-pill{
  animation:rnPillFloat 3.2s ease-in-out infinite;
}
.feature-pill:nth-child(2){animation-delay:.35s}
.feature-pill:nth-child(3){animation-delay:.7s}
.feature-pill:nth-child(4){animation-delay:1.05s}

/* menu mobile com entrada melhor */
.nav.open a{
  animation:rnMenuItem .35s ease both;
}
.nav.open a:nth-child(2){animation-delay:.04s}
.nav.open a:nth-child(3){animation-delay:.08s}
.nav.open a:nth-child(4){animation-delay:.12s}
.nav.open a:nth-child(5){animation-delay:.16s}
.nav.open a:nth-child(6){animation-delay:.2s}

/* loading premium */
.rn-premium-loader{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  background:#020817;
  transition:opacity .6s ease, visibility .6s ease;
}
.rn-premium-loader.is-hidden{
  opacity:0;
  visibility:hidden;
}
.rn-loader-mark{
  width:88px;
  height:88px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 30% 20%, rgba(11,87,255,.38), transparent 38%),
    radial-gradient(circle at 70% 80%, rgba(255,31,61,.30), transparent 38%),
    rgba(255,255,255,.04);
  box-shadow:0 0 60px rgba(11,87,255,.25);
  animation:rnLoader 1.2s ease-in-out infinite alternate;
}
.rn-loader-mark::after{
  content:"RN";
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:white;
  font-weight:1000;
  letter-spacing:-.08em;
  font-size:28px;
}

/* animações */
@keyframes rnGradientMove{
  0%{background-position:0% 50%}
  100%{background-position:280% 50%}
}
@keyframes rnLinePulse{
  0%,100%{opacity:.65;transform:scaleY(.88)}
  50%{opacity:1;transform:scaleY(1)}
}
@keyframes rnSpinBorder{
  to{--rn-angle:360deg}
}
@property --rn-angle{
  syntax:"<angle>";
  initial-value:0deg;
  inherits:false;
}
@keyframes rnSlowRotate{
  to{transform:rotate(360deg)}
}
@keyframes rnPillFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes rnMenuItem{
  from{opacity:0;transform:translateX(16px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes rnLoader{
  from{transform:scale(.94) rotate(-3deg);filter:hue-rotate(0deg)}
  to{transform:scale(1.04) rotate(3deg);filter:hue-rotate(18deg)}
}

/* mobile sem pesar demais */
@media(max-width:768px){
  .rn-cursor-glow,
  #rn-premium-particles{
    display:none !important;
  }
  .rn-home-page .home-hero-remodelada .hero-content::before{
    left:-12px;
    height:62px;
  }
  .rn-home-page .home-hero-remodelada h1{
    background:linear-gradient(135deg,#061225,#0d47a1 78%) !important;
    -webkit-background-clip:text !important;
    background-clip:text !important;
  }
  .section-title.center::after,
  .about-text::after,
  .content-section > div:first-child::after{
    width:64px;
    height:3px;
  }
}



/* ======================================================
   CORREÇÃO V3 - menu normal e WhatsApp flutuante no lado direito
   ====================================================== */

/* mantém o header/menu acima de todos os efeitos */
.topbar{
  z-index:9998 !important;
  position:fixed !important;
}
.nav{
  z-index:9999 !important;
}
.brand,
.menu-toggle{
  z-index:10000 !important;
}

/* remove efeito magnético do menu para não entortar/deslocar */
.nav a,
.nav-cta{
  transform:none !important;
}
.nav-cta:hover{
  transform:none !important;
}

/* menu mobile limpo, sem entrada estranha */
@media(max-width:980px){
  .nav{
    right:-100% !important;
    left:auto !important;
    transform:none !important;
    transition:right .35s ease !important;
  }
  .nav.open{
    right:0 !important;
    left:auto !important;
    transform:none !important;
  }
  .nav.open a{
    animation:none !important;
  }
}

/* botão WhatsApp sempre no canto inferior direito */
.float-whats,
.whatsapp-float,
.whats-float,
a[href*="wa.me"].float-whats{
  position:fixed !important;
  right:22px !important;
  left:auto !important;
  bottom:22px !important;
  z-index:9997 !important;
  transform:none !important;
}

/* impede cursor glow/partículas de interferirem no clique/menu */
.rn-cursor-glow,
#rn-premium-particles{
  pointer-events:none !important;
}

/* evita que efeitos criem camada acima do menu */
body > *:not(.rn-scroll-progress):not(.rn-cursor-glow):not(#rn-premium-particles):not(.topbar):not(.float-whats){
  z-index:auto;
}

/* menu desktop com visual mais controlado */
@media(min-width:981px){
  .nav{
    display:flex !important;
    align-items:center !important;
    gap:28px !important;
  }
  .nav a{
    white-space:nowrap !important;
  }
}



/* ======================================================
   CORREÇÃO V4 - banner desktop sem cortar o rosto no menu
   ====================================================== */
@media(min-width:981px){
  .rn-home-page .home-hero-remodelada{
    background-image:
      linear-gradient(90deg, rgba(247,250,255,.98) 0%, rgba(247,250,255,.92) 28%, rgba(247,250,255,.28) 49%, rgba(247,250,255,0) 66%),
      url('../assets/banner-home-rnvisionpira.png') !important;
    background-repeat:no-repeat,no-repeat !important;
    background-size:auto, cover !important;
    background-position:center center, right top 42px !important;
    padding-top:148px !important;
  }

  .rn-home-page .topbar:not(.scrolled){
    background:linear-gradient(180deg, rgba(6,13,27,.72), rgba(6,13,27,.18), rgba(6,13,27,0)) !important;
  }
}

@media(min-width:981px) and (max-width:1180px){
  .rn-home-page .home-hero-remodelada{
    background-image:
      linear-gradient(90deg, rgba(247,250,255,.99) 0%, rgba(247,250,255,.88) 37%, rgba(247,250,255,.14) 68%, rgba(247,250,255,0) 100%),
      url('../assets/banner-home-rnvisionpira.png') !important;
    background-repeat:no-repeat,no-repeat !important;
    background-size:auto, cover !important;
    background-position:center center, right top 52px !important;
  }
}



/* ======================================================
   CORREÇÃO V5 - menu branco e banner sem cortar o rosto
   ====================================================== */
@media(min-width:981px){
  /* menu branco permanente no desktop */
  .rn-home-page .topbar,
  .topbar,
  .topbar.scrolled,
  .topbar.solid{
    background:rgba(255,255,255,.92) !important;
    backdrop-filter:blur(18px) !important;
    box-shadow:0 12px 40px rgba(15,23,42,.10) !important;
    border-bottom:1px solid rgba(15,23,42,.06) !important;
    padding:14px 5vw !important;
  }

  .rn-home-page .topbar .nav,
  .topbar .nav,
  .topbar.scrolled .nav,
  .topbar.solid .nav{
    color:var(--navy) !important;
    text-shadow:none !important;
  }

  .rn-home-page .topbar .nav a:not(.nav-cta)::after,
  .topbar .nav a:not(.nav-cta)::after{
    background:var(--blue) !important;
  }

  .rn-home-page .topbar .nav-cta,
  .topbar .nav-cta,
  .topbar.scrolled .nav-cta,
  .topbar.solid .nav-cta{
    border-color:rgba(13,71,161,.18) !important;
    color:var(--navy) !important;
    background:rgba(255,255,255,.68) !important;
  }

  .rn-home-page .topbar .menu-toggle span,
  .topbar .menu-toggle span,
  .topbar.scrolled .menu-toggle span,
  .topbar.solid .menu-toggle span{
    background:var(--navy) !important;
  }

  /* desce mais a foto para o menu não cortar o rosto */
  .rn-home-page .home-hero-remodelada{
    padding-top:170px !important;
    background-image:
      linear-gradient(90deg, rgba(247,250,255,.98) 0%, rgba(247,250,255,.92) 28%, rgba(247,250,255,.28) 49%, rgba(247,250,255,0) 66%),
      url('../assets/banner-home-rnvisionpira.png') !important;
    background-repeat:no-repeat,no-repeat !important;
    background-size:auto, cover !important;
    background-position:center center, right top 92px !important;
  }
}

@media(min-width:981px) and (max-width:1180px){
  .rn-home-page .home-hero-remodelada{
    background-image:
      linear-gradient(90deg, rgba(247,250,255,.99) 0%, rgba(247,250,255,.88) 37%, rgba(247,250,255,.14) 68%, rgba(247,250,255,0) 100%),
      url('../assets/banner-home-rnvisionpira.png') !important;
    background-repeat:no-repeat,no-repeat !important;
    background-size:auto, cover !important;
    background-position:center center, right top 108px !important;
  }
}



/* ======================================================
   V6 - menu mais fino, logo menor e visual mais sofisticado
   ====================================================== */
@media(min-width:981px){
  .rn-home-page .topbar,
  .topbar,
  .topbar.scrolled,
  .topbar.solid{
    padding:10px 5vw !important;
    min-height:92px !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 10px 34px rgba(15,23,42,.08) !important;
  }

  .brand,
  .rn-home-page .topbar:not(.scrolled) .brand,
  .rn-home-page .topbar.scrolled .brand,
  .topbar.solid .brand{
    width:170px !important;
    min-height:62px !important;
    height:62px !important;
    padding:8px 14px !important;
    border-radius:16px !important;
    box-shadow:0 12px 34px rgba(15,23,42,.10) !important;
  }

  .brand img{
    max-height:48px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  .nav{
    gap:24px !important;
    font-size:12px !important;
    letter-spacing:.11em !important;
  }

  .nav-cta{
    padding:13px 18px !important;
    border-radius:0 !important;
    background:rgba(255,255,255,.72) !important;
  }

  .rn-home-page .home-hero-remodelada{
    padding-top:134px !important;
    background-position:center center, right top 72px !important;
  }
}

@media(min-width:981px) and (max-width:1180px){
  .brand,
  .rn-home-page .topbar:not(.scrolled) .brand,
  .rn-home-page .topbar.scrolled .brand,
  .topbar.solid .brand{
    width:150px !important;
    min-height:58px !important;
    height:58px !important;
  }

  .brand img{
    max-height:44px !important;
  }

  .nav{
    gap:18px !important;
    font-size:11px !important;
  }

  .rn-home-page .home-hero-remodelada{
    background-position:center center, right top 82px !important;
  }
}

/* mobile mantém logo confortável */
@media(max-width:980px){
  .brand,
  .rn-home-page .topbar:not(.scrolled) .brand,
  .rn-home-page .topbar.scrolled .brand,
  .topbar.solid .brand{
    width:148px !important;
    min-height:58px !important;
    height:58px !important;
    padding:8px 12px !important;
    border-radius:14px !important;
  }

  .brand img{
    max-height:42px !important;
  }
}

/* ======================================================
   Botões flutuantes WhatsApp + Instagram
   ====================================================== */
.social-float,
.float-whats,
.float-instagram{
  position:fixed !important;
  right:22px !important;
  left:auto !important;
  width:62px !important;
  height:62px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:9999 !important;
  border:1px solid rgba(255,255,255,.35) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.25) !important;
  text-decoration:none !important;
  overflow:hidden !important;
}

.float-whats{
  bottom:22px !important;
  background:#25D366 !important;
}

.float-instagram{
  bottom:96px !important;
  background:radial-gradient(circle at 30% 110%, #ffdb8b 0%, #ee653d 25%, #d6249f 55%, #285AEB 100%) !important;
}

.social-float img,
.float-whats img,
.float-instagram img{
  display:block !important;
  width:34px !important;
  height:34px !important;
  object-fit:contain !important;
}

.float-instagram img{
  width:31px !important;
  height:31px !important;
}

.social-float:hover{
  filter:brightness(1.05) saturate(1.08) !important;
  box-shadow:0 22px 52px rgba(0,0,0,.32) !important;
}

@media(max-width:680px){
  .social-float,
  .float-whats,
  .float-instagram{
    width:56px !important;
    height:56px !important;
    right:16px !important;
  }

  .float-whats{
    bottom:16px !important;
  }

  .float-instagram{
    bottom:84px !important;
  }

  .social-float img,
  .float-whats img,
  .float-instagram img{
    width:30px !important;
    height:30px !important;
  }
}

/* ======================================================
   CORREÇÃO MOBILE V7 - banner sem cortar o rosto + botões alinhados
   ====================================================== */
@media (max-width: 768px){
  .rn-home-page .home-hero-remodelada{
    min-height:auto !important;
    padding:calc(52vh + 72px) 18px 40px !important;
    background-image:
      linear-gradient(180deg, rgba(247,250,255,0) 0%, rgba(247,250,255,0) 45%, rgba(247,250,255,.92) 72%, #f7faff 100%),
      url('../assets/banner-home-rnvisionpira.png') !important;
    background-repeat:no-repeat, no-repeat !important;
    background-size:100% 100%, auto 52vh !important;
    background-position:center top, 78% 70px !important;
    overflow:visible !important;
  }

  .rn-home-page .home-hero-remodelada .hero-content{
    width:100% !important;
    max-width:100% !important;
    padding-top:0 !important;
    position:relative !important;
    z-index:3 !important;
  }

  body > .social-float,
  .social-float.float-whats,
  .social-float.float-instagram,
  a.social-float.float-whats,
  a.social-float.float-instagram{
    position:fixed !important;
    left:auto !important;
    right:calc(16px + env(safe-area-inset-right, 0px)) !important;
    transform:none !important;
    margin:0 !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    max-width:54px !important;
    max-height:54px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    box-sizing:border-box !important;
    line-height:0 !important;
    z-index:99999 !important;
  }

  .social-float.float-whats,
  a.social-float.float-whats{
    bottom:calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .social-float.float-instagram,
  a.social-float.float-instagram{
    bottom:calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .social-float img,
  .social-float.float-whats img,
  .social-float.float-instagram img{
    width:29px !important;
    height:29px !important;
    display:block !important;
    object-fit:contain !important;
    flex:0 0 auto !important;
  }
}

@media (max-width: 390px){
  .rn-home-page .home-hero-remodelada{
    padding:calc(50vh + 72px) 16px 38px !important;
    background-size:100% 100%, auto 50vh !important;
    background-position:center top, 80% 72px !important;
  }

  .social-float.float-whats,
  .social-float.float-instagram,
  a.social-float.float-whats,
  a.social-float.float-instagram{
    right:calc(14px + env(safe-area-inset-right, 0px)) !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    min-height:52px !important;
    max-width:52px !important;
    max-height:52px !important;
  }

  .social-float.float-whats,
  a.social-float.float-whats{
    bottom:calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .social-float.float-instagram,
  a.social-float.float-instagram{
    bottom:calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  }
}


/* ======================================================
   CORREÇÃO GALERIA MODAL - Modelos abre por cima do site
   ====================================================== */
body.modal-open{
  overflow:hidden !important;
  touch-action:none !important;
}

.lightbox,
body > .lightbox,
#lightbox{
  position:fixed !important;
  inset:0 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  min-height:100vh !important;
  margin:0 !important;
  padding:32px !important;
  box-sizing:border-box !important;
  background:rgba(3,10,22,.94) !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:2147483000 !important;
  overflow:hidden !important;
  transform:none !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

.lightbox.open,
body > .lightbox.open,
#lightbox.open{
  display:flex !important;
}

.lightbox img,
#lightboxImage{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:calc(100vw - 140px) !important;
  max-height:calc(100dvh - 140px) !important;
  object-fit:contain !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 40px 120px rgba(0,0,0,.58) !important;
  position:relative !important;
  z-index:2147483001 !important;
}

.lightbox-close,
.lightbox-nav{
  position:fixed !important;
  z-index:2147483002 !important;
  border:0 !important;
  cursor:pointer !important;
  transform:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

.lightbox-close{
  top:calc(18px + env(safe-area-inset-top, 0px)) !important;
  right:calc(18px + env(safe-area-inset-right, 0px)) !important;
  width:52px !important;
  height:52px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#071426 !important;
  font-size:36px !important;
  font-weight:800 !important;
}

.lightbox-nav{
  top:50% !important;
  width:56px !important;
  height:74px !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#071426 !important;
  font-size:48px !important;
  box-shadow:0 18px 50px rgba(0,0,0,.35) !important;
}

.lightbox-prev{
  left:calc(20px + env(safe-area-inset-left, 0px)) !important;
}

.lightbox-next{
  right:calc(20px + env(safe-area-inset-right, 0px)) !important;
}

.lightbox-caption{
  position:fixed !important;
  left:18px !important;
  right:18px !important;
  bottom:calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  z-index:2147483002 !important;
  color:#fff !important;
  text-align:center !important;
  font-weight:900 !important;
  line-height:1.35 !important;
  pointer-events:none !important;
}

body.modal-open .topbar,
body.modal-open .social-float,
body.modal-open .float-whats,
body.modal-open .float-instagram,
body.modal-open .rn-scroll-progress,
body.modal-open .rn-cursor-glow,
body.modal-open #rn-premium-particles{
  pointer-events:none !important;
}

@media(max-width:680px){
  .lightbox,
  body > .lightbox,
  #lightbox{
    padding:18px !important;
  }

  .lightbox img,
  #lightboxImage{
    max-width:calc(100vw - 30px) !important;
    max-height:calc(100dvh - 150px) !important;
    border-radius:10px !important;
  }

  .lightbox-close{
    width:46px !important;
    height:46px !important;
    font-size:32px !important;
    top:calc(12px + env(safe-area-inset-top, 0px)) !important;
    right:calc(12px + env(safe-area-inset-right, 0px)) !important;
  }

  .lightbox-nav{
    width:44px !important;
    height:58px !important;
    font-size:38px !important;
    border-radius:12px !important;
  }

  .lightbox-prev{
    left:calc(8px + env(safe-area-inset-left, 0px)) !important;
  }

  .lightbox-next{
    right:calc(8px + env(safe-area-inset-right, 0px)) !important;
  }

  .lightbox-caption{
    bottom:calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    font-size:13px !important;
    padding:0 54px !important;
  }
}
