/* LP Do Prado e Rodrigues — estilos compartilhados (Trabalhista e Bancário) */
:root{--accent:#C452FF;--zap:#25D366;--zap-ink:#062A13;--ink:#1A0E35}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:#120A24}
a{color:#D9A8FF}a:hover{color:#F1DDFF}
img{max-width:100%}
.lp{font-family:'Montserrat',system-ui,sans-serif;color:#F5F0FF;background:#120A24;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px;position:relative;z-index:2}
.sec{position:relative;overflow:hidden;isolation:isolate}
.pad{padding:130px 0}
.hl{font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.98;margin:0}
.h1{font-size:62px}
.h2{font-size:52px}
.neon{color:var(--accent)}
.neon-d{color:#7B2CBF}
.ink{color:#F0DCFF}
.ink-title{color:var(--ink)}
.bar-v{border-left:4px solid var(--accent);padding-left:28px}
.kicker{display:inline-flex;align-items:center;gap:12px;margin:0 0 20px;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.kicker::before{content:"";width:28px;height:2px;background:currentColor;box-shadow:0 0 10px currentColor}
.kicker-light{color:#F5E6FF}
.kicker-dark{color:#7B2CBF}
.lead{margin:28px 0 0;max-width:520px;font-size:18px;line-height:1.65;color:#DCD2F2}
.muted{margin:0;max-width:360px;color:#BBAED8;font-size:16px;line-height:1.65}
.muted-light{margin:20px 0 0;color:#F1E6FF;font-size:16px;line-height:1.65}
.muted-dark{margin:24px 0 0;max-width:400px;color:#4B3F66;font-size:16px;line-height:1.7}

/* fundos */
.photo{position:absolute;inset:0;z-index:0;overflow:hidden}
.photo img{display:block;position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover;will-change:transform;transform:translate3d(0,var(--py,0px),0)}
.shade{position:absolute;inset:0;z-index:0;pointer-events:none}
.ov-hero{background:linear-gradient(90deg,rgba(15,8,32,.95) 0%,rgba(15,8,32,.8) 42%,rgba(43,14,84,.42) 100%)}
.ov-dark{background:linear-gradient(90deg,rgba(11,6,24,.92) 0%,rgba(11,6,24,.72) 50%,rgba(11,6,24,.9) 100%)}
.ov-purple{background:linear-gradient(135deg,rgba(48,10,98,.94) 0%,rgba(106,31,181,.84) 55%,rgba(157,78,221,.66) 100%)}
.ov-contact{background:linear-gradient(90deg,rgba(11,6,24,.95) 0%,rgba(11,6,24,.78) 50%,rgba(11,6,24,.6) 100%)}
.noise{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.13;mix-blend-mode:overlay}
.noise-l{opacity:.22;mix-blend-mode:multiply}
.circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.blob{position:absolute;border-radius:50%;filter:blur(70px);z-index:0;pointer-events:none}
.d1{animation:drift 18s ease-in-out infinite}
.d2{animation:drift 22s ease-in-out -6s infinite reverse}
.d3{animation:drift 26s ease-in-out -12s infinite}
.grid-bg{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(196,82,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(196,82,255,.07) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%)}
.dark-grid{background:#07040F}
.mesh{background:#120A24;text-align:center}
.light{background:#F6F1FF;color:var(--ink)}

/* vidro */
.glass{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.16);border-radius:20px;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 30px 80px -30px rgba(5,2,15,.7)}
.glass-l{position:relative;color:var(--ink);background:linear-gradient(145deg,rgba(255,255,255,.75),rgba(255,255,255,.4));border:1px solid rgba(255,255,255,.85);border-radius:24px;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);box-shadow:0 30px 70px -35px rgba(74,20,140,.45)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 30px;font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:999px;font-family:inherit;cursor:pointer;border:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .3s,color .3s}
.btn:hover{transform:translateY(-2px)}
.btn-zap{background:var(--zap);color:var(--zap-ink);box-shadow:0 10px 30px -10px rgba(37,211,102,.7)}
.btn-zap:hover{background:#2FE374;color:var(--zap-ink);box-shadow:0 16px 44px -10px rgba(37,211,102,.85)}
.btn-zap .wa-ic{width:22px;height:22px;flex:none}
.btn-zap:disabled{opacity:.7;cursor:progress;transform:none}
.btn-sm{min-height:44px;padding:0 20px;font-size:12px}
.btn-sm .wa-ic{width:18px;height:18px}
.btn-lg{min-height:62px;font-size:15px;width:100%}
.btn-glass{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24);color:#F5F0FF;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.btn-glass:hover{background:rgba(255,255,255,.15);color:#F5F0FF}
.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:42px}
.center-cta{display:flex;justify-content:center;margin-top:56px}

/* header */
.topbar{position:sticky;top:0;z-index:30;background:rgba(13,7,28,.66);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{width:46px;height:auto}
.brand span{display:flex;flex-direction:column;line-height:1.25}
.brand b{font-family:'Orbitron',sans-serif;font-weight:700;font-size:15px;letter-spacing:.06em;color:#F5F0FF}
.brand small{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#BBAED8}
.nav{display:flex;align-items:center;gap:30px}
.navlink{color:#CFC3EA;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:12px 0;position:relative}
.navlink::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.navlink:hover{color:#fff}.navlink:hover::after{transform:scaleX(1)}

/* hero */
.hero{background:#0F0820}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center;padding-top:110px;padding-bottom:130px}
.hero-art{position:relative;display:flex;justify-content:center;align-items:center;min-height:480px}
.hero-art .spin{position:absolute;width:500px;max-width:110%;height:auto}
.logo-card{width:360px;max-width:92%;aspect-ratio:1/1.12;border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:40px}
.logo-card img{width:72%;height:auto;filter:drop-shadow(0 0 22px rgba(196,82,255,.6))}
.logo-card span{font-family:'Orbitron',sans-serif;font-size:13px;font-weight:700;letter-spacing:.2em;color:#EDE4FF;text-align:center}
.chip{position:absolute;border-radius:999px;padding:14px 22px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.chip-a{left:-10px;top:50px}.chip-b{right:-14px;bottom:18px}

/* marquee */
.marquee-wrap{position:relative;background:linear-gradient(90deg,#5A189A,#9D4EDD,#5A189A);overflow:hidden;padding:18px 0}
.marquee{display:flex;width:max-content;animation:slide 50s linear infinite;font-size:15px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.marquee span{display:inline-flex;align-items:center;gap:32px;padding-right:32px;white-space:nowrap}
.marquee i{font-style:normal;color:#14062A}

/* blocos */
.head{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:56px;max-width:820px}
.head .muted{max-width:560px;margin-top:20px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px;align-items:center}
.two.top{align-items:start}
.svcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.svc{display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s}
.svc:hover{transform:translateY(-6px);border-color:rgba(196,82,255,.55)}
.svc-img{aspect-ratio:4/3;overflow:hidden;position:relative}
.svc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,10,36,0) 45%,rgba(18,10,36,.55) 100%)}
.svc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.svc:hover .svc-img img{transform:scale(1.06)}
.svc-body{padding:28px 28px 32px}
.svc-body h3{margin:14px 0 0;font-size:21px;font-weight:800;line-height:1.25}
.svc-body p{margin:10px 0 0;color:#CFC3EA;font-size:15.5px;line-height:1.7}
.num{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;font-family:'Orbitron',sans-serif;font-size:13px;font-weight:700;color:#E2A8FF;background:rgba(196,82,255,.18);border:1px solid rgba(196,82,255,.5);flex:none}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.step{display:grid;grid-template-columns:46px minmax(0,1fr);gap:20px;padding:26px 28px}
.step h3{margin:0;font-size:19px;font-weight:800}
.step p{margin:8px 0 0;color:#CFC3EA;font-size:15.5px;line-height:1.7}
.docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.doc{padding:34px 30px}
.doc h3{margin:0 0 10px;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.doc p{margin:0;color:#F1E6FF;font-size:15.5px;line-height:1.7}
.office{display:flex;flex-direction:column;align-items:center}
.logo-full{padding:52px 60px;border-radius:28px;margin-top:20px}
.logo-full img{display:block;width:500px;max-width:100%;height:auto;filter:drop-shadow(0 0 24px rgba(196,82,255,.4))}
.office-txt{margin:46px 0 0;max-width:720px;font-size:19px;line-height:1.75;color:#DCD2F2}
.office-txt strong{color:#fff}
.crosslink{display:inline-flex;align-items:center;gap:10px;margin-top:34px;padding:14px 24px;border-radius:999px;border:1px solid rgba(196,82,255,.5);color:#F5F0FF;text-decoration:none;font-weight:700;font-size:14px;transition:background .3s,border-color .3s}
.crosslink:hover{background:rgba(196,82,255,.15);border-color:var(--accent);color:#fff}

/* faq */
.faq{padding:10px 30px}
.faq details{border-top:1px solid rgba(26,14,53,.14)}
.faq details:first-child{border-top:none}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 2px;min-height:44px;font-size:18px;font-weight:800;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.plus{flex:none;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#F5F0FF;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s}
.faq details[open] .plus{transform:rotate(45deg);background:#7B2CBF}
.faq details p{margin:0 2px 24px;color:#4B3F66;font-size:16px;line-height:1.7}

/* formulário */
.form{display:flex;flex-direction:column;gap:22px;padding:46px;border-radius:28px}
.field{display:flex;flex-direction:column;gap:8px;text-align:left}
.field label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#DCD2F2}
.field input{font:inherit;font-size:17px;color:#F5F0FF;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.2);border-radius:14px;padding:16px 18px;min-height:58px;outline:none;transition:border-color .3s,background .3s,box-shadow .3s}
.field input:focus{border-color:var(--zap);background:rgba(255,255,255,.1);box-shadow:0 0 0 4px rgba(37,211,102,.18)}
.field input::placeholder{color:#9A8DBA}
.form-msg{display:none;margin:0;padding:14px 16px;border-radius:12px;background:rgba(248,113,113,.14);border:1px solid rgba(248,113,113,.45);font-size:14px;font-weight:600}
.lgpd{margin:0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;line-height:1.6;color:#BBAED8}

/* rodapé + botão flutuante */
.foot{background:#05030B;color:#A99CC8;border-top:1px solid rgba(255,255,255,.08);padding:56px 0 64px}
.foot-row{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:center}
.foot-row img{width:220px;height:auto;opacity:.9}
.foot-row p{margin:0;max-width:520px;font-size:13px;line-height:1.7}
.float-zap{position:fixed;right:22px;bottom:22px;z-index:40;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--zap);color:var(--zap-ink);box-shadow:0 14px 40px -10px rgba(37,211,102,.8);transition:transform .3s}
.float-zap:hover{transform:scale(1.07);color:var(--zap-ink)}
.float-zap .wa-ic{width:32px;height:32px}
.float-zap::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--zap);animation:ping 2.4s cubic-bezier(0,0,.2,1) infinite}

/* animações */
.flow{stroke-dasharray:6 10;animation:flow 2.4s linear infinite}
@keyframes slide{to{transform:translateX(-50%)}}
@keyframes flow{to{stroke-dashoffset:-64}}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(60px,-40px) scale(1.08)}66%{transform:translate(-40px,30px) scale(.95)}}
@keyframes rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(1.5);opacity:0}}
.in1{animation:rise 1s cubic-bezier(.2,.7,.2,1) .1s both}
.in2{animation:rise 1s cubic-bezier(.2,.7,.2,1) .25s both}
.in3{animation:rise 1s cubic-bezier(.2,.7,.2,1) .4s both}
.in4{animation:rise 1s cubic-bezier(.2,.7,.2,1) .55s both}
.in5{animation:fade 1.8s ease .3s both}
.floaty{animation:floaty 7s ease-in-out infinite}
.floaty2{animation:floaty 8s ease-in-out -3s infinite}
.blink{animation:blink 2.2s ease-in-out infinite}
.blink2{animation:blink 2.2s ease-in-out 1.1s infinite}
.spin{animation:spin 50s linear infinite}
@supports (animation-timeline: view()){
.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
}
@media (prefers-reduced-motion: reduce){.lp *,.lp *::before{animation:none !important;transition:none !important}}

/* ===== tablet e celular ===== */
@media (max-width: 980px){
.wrap{padding:0 20px}
.pad{padding:88px 0}
.h1{font-size:42px}
.h2{font-size:34px}
.hide-m,.nav .navlink,.nav .btn{display:none !important}
.bar{min-height:66px;justify-content:center}
.hero-grid,.two,.svcs,.docs{grid-template-columns:minmax(0,1fr);gap:40px}
.hero-grid{padding-top:72px;padding-bottom:88px}
/* textos centralizados */
.sec,.head,.hero-copy{text-align:center}
.head{align-items:center;margin-left:auto;margin-right:auto}
.head .muted,.muted,.lead,.muted-dark{margin-left:auto;margin-right:auto}
.kicker{justify-content:center}
.bar-v{border-left:none;padding-left:0}
.bar-v::after{content:"";display:block;width:56px;height:4px;margin:22px auto 0;border-radius:4px;background:var(--accent);box-shadow:0 0 14px var(--accent)}
.ctas{justify-content:center}
.ctas .btn,.center-cta .btn{width:100%;max-width:420px}
.svc-body,.doc{text-align:center}
.step{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:14px}
.faq{padding:6px 20px;text-align:left}
.form{padding:30px 22px}
.foot-row{flex-direction:column;text-align:center}
.foot-row img{margin:0 auto}
/* sobreposição uniforme para leitura no celular */
.ov-hero,.ov-dark,.ov-contact{background:linear-gradient(180deg,rgba(15,8,32,.86) 0%,rgba(15,8,32,.78) 50%,rgba(15,8,32,.9) 100%)}
.float-zap{right:16px;bottom:16px;width:58px;height:58px}
}
@media (max-width: 560px){
.h1{font-size:34px}
.h2{font-size:29px}
.lead{font-size:16.5px}
.brand b{font-size:13px}
.brand small{font-size:9px;letter-spacing:.16em}
.marquee{font-size:13px}
.logo-full{padding:30px 26px}
.office-txt{font-size:17px}
.faq summary{font-size:16px}
}
