/* ============================================================
   Prime Assessoria Jurídica — folha de estilo compartilhada
   Usada pela página inicial e pelas páginas de área
   ============================================================ */
:root{
  --navy-900:#081226;
  --navy-800:#0B1B38;
  --navy-700:#16294F;
  --navy-600:#24365C;
  --steel:#64789F;
  --mist:#A9B6CE;
  --ice:#EEF3FA;
  --white:#FFFFFF;
  --brass:#C8A96A;
  --brass-soft:rgba(200,169,106,.55);
  --wa:#1FAF38;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Sora',sans-serif;background:var(--white);color:var(--navy-800);line-height:1.65;overflow-x:hidden}
::selection{background:var(--brass);color:var(--navy-900)}
img{max-width:100%}
a{color:inherit}

/* ---------- utilidades ---------- */
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--brass)}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--brass-soft)}
.display{font-family:'Fraunces',serif;font-weight:400;letter-spacing:-.01em}

/* revelação no scroll */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .hero .stage>*{animation:none!important;opacity:1!important;transform:none!important}
  .p-mark{animation:none!important}
}

/* ============================================================
   HERO (página inicial)
   ============================================================ */
.hero{position:relative;min-height:100svh;
  background:
  linear-gradient(90deg, rgba(8,18,38,.62) 0%, rgba(8,18,38,.25) 55%, rgba(8,18,38,0) 80%),
  radial-gradient(1200px 600px at 85% -10%, rgba(36,54,92,.55), transparent 60%),
  linear-gradient(160deg, rgba(22,41,79,.76) 0%, rgba(11,27,56,.86) 78%),
  url("/escritorio.webp") center 45% / cover no-repeat,
  var(--navy-800);
  color:var(--ice);display:flex;flex-direction:column;overflow:hidden}
@media (max-width:900px){.hero{background:
  linear-gradient(180deg, rgba(8,18,38,.55) 0%, rgba(8,18,38,.35) 100%),
  linear-gradient(160deg, rgba(22,41,79,.80) 0%, rgba(11,27,56,.90) 78%),
  url("/escritorio.webp") 28% center / cover no-repeat,
  var(--navy-800)}}

.hero::before{content:"";position:absolute;inset:-20% -10%;
  background:linear-gradient(115deg, transparent 46.5%, rgba(200,169,106,.16) 49%, rgba(238,243,250,.05) 50.5%, transparent 54%);
  pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(169,182,206,.13) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 75%,transparent 100%);
  pointer-events:none}

.logo-top{height:48px;width:auto;filter:brightness(0) invert(1);opacity:.95}
.p-mark{position:absolute;right:-6%;bottom:6%;width:min(52vw,600px);height:auto;opacity:.10;
  filter:brightness(0) invert(1);
  animation:derive 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes derive{from{transform:translateY(0) rotate(0deg)}to{transform:translateY(-22px) rotate(-1.2deg)}}

.topbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:26px 0}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.top-cta{font-size:13px;font-weight:600;text-decoration:none;color:var(--ice);border:1px solid rgba(238,243,250,.35);
  padding:11px 22px;border-radius:999px;transition:.2s}
.top-cta:hover{border-color:var(--brass);color:var(--brass)}

.stage{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;padding:60px 0 90px;max-width:820px}
.stage>*{opacity:0;transform:translateY(24px);animation:sobe .9s ease forwards}
.stage .eyebrow{animation-delay:.15s}
.stage h1{animation-delay:.3s}
.stage .lead{animation-delay:.5s}
.stage .ctas{animation-delay:.7s}
@keyframes sobe{to{opacity:1;transform:none}}

.stage h1{font-size:clamp(38px,6vw,68px);line-height:1.08;margin:26px 0 22px;color:var(--white)}
.stage h1 em{font-style:italic;font-weight:300;color:var(--brass)}
.lead{font-size:clamp(16px,2vw,19px);color:var(--mist);max-width:560px;font-weight:300}
.ctas{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;text-decoration:none;
  padding:16px 30px;border-radius:14px;transition:.22s}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 14px 34px rgba(31,175,56,.35)}
.btn-wa:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(31,175,56,.45)}
.btn-ghost{border:1px solid rgba(238,243,250,.3);color:var(--ice)}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}

.hero-foot{position:relative;z-index:2;border-top:1px solid rgba(169,182,206,.16);padding:20px 0 26px}
.hero-foot .wrap{display:flex;gap:34px;flex-wrap:wrap;font-size:12.5px;color:var(--mist);letter-spacing:.4px}
.hero-foot b{color:var(--ice);font-weight:600}

/* ============================================================
   SEÇÕES
   ============================================================ */
section{position:relative}
.sec-pad{padding:110px 0}

.sobre{background:var(--white)}
.sobre .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.state{font-size:clamp(26px,3.4vw,40px);line-height:1.22;color:var(--navy-800)}
.state em{font-style:italic;color:var(--steel);font-weight:300}
.sobre p{color:#3d4c66;margin-bottom:18px;font-size:16px;font-weight:300}
.sobre p b{font-weight:600;color:var(--navy-800)}
.resp-tec{margin-top:34px;padding-top:20px;border-top:1px solid #DCE5F1;
  font-size:12px;color:var(--steel);letter-spacing:.5px}

.areas{background:var(--ice);color:var(--navy-800);
  clip-path:polygon(0 0, 100% 4.5%, 100% 100%, 0 95.5%);padding:150px 0 160px;margin:40px 0}
.areas .head{max-width:640px;margin-bottom:60px}
.areas h2{font-size:clamp(28px,3.6vw,42px);margin-top:22px;color:var(--navy-800)}
.areas h2 em{font-style:italic;font-weight:300;color:var(--steel)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{background:var(--white);border:1px solid #DCE5F1;border-radius:18px;
  padding:30px 26px;transition:.25s;position:relative;overflow:hidden;box-shadow:0 4px 18px rgba(11,27,56,.05);
  display:block;text-decoration:none;color:inherit}
.card::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--brass),transparent 65%);opacity:0;transition:.25s}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(11,27,56,.12);border-color:rgba(200,169,106,.5)}
.card:hover::before{opacity:1}
.card svg{width:34px;height:34px;stroke:var(--brass);stroke-width:1.4;fill:none;margin-bottom:18px}
.card h3{font-size:17px;font-weight:600;margin-bottom:10px;color:var(--navy-800)}
.card p{font-size:13.5px;color:#3d4c66;font-weight:300;line-height:1.6}
.card.destaque{border:1.5px solid rgba(200,169,106,.65);background:linear-gradient(180deg,#FFFDF8,var(--white));box-shadow:0 8px 26px rgba(200,169,106,.14)}
.card.destaque:hover{box-shadow:0 18px 40px rgba(200,169,106,.22)}
.card-mais{display:inline-block;margin-top:14px;font-size:12px;font-weight:600;color:var(--brass);opacity:.75;transition:.2s}
.card:hover .card-mais{opacity:1;transform:translateX(3px)}

.passos{background:var(--white)}
.passos .head{max-width:620px;margin-bottom:56px}
.passos h2{font-size:clamp(26px,3.2vw,38px);margin-top:22px;color:var(--navy-800)}
.passo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.passo{border-left:1px solid #DCE5F1;padding:6px 0 6px 26px;position:relative}
.passo .num{font-family:'Fraunces',serif;font-style:italic;font-size:44px;color:var(--brass);line-height:1}
.passo h3{font-size:16.5px;margin:14px 0 8px;color:var(--navy-800)}
.passo p{font-size:14px;color:#3d4c66;font-weight:300}

.contato{padding:0 0 120px}
.painel{background:linear-gradient(150deg,var(--navy-600),var(--navy-800));border-radius:28px;color:var(--ice);
  padding:clamp(40px,6vw,80px);position:relative;overflow:hidden}
.painel::before{content:"";position:absolute;inset:-30%;
  background:linear-gradient(115deg,transparent 46%,rgba(200,169,106,.14) 50%,transparent 54%)}
.painel .inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.painel h2{font-size:clamp(28px,3.6vw,42px);color:var(--white);margin-top:20px}
.painel h2 em{font-style:italic;font-weight:300;color:var(--brass)}
.painel .sub{color:var(--mist);margin-top:16px;font-weight:300;max-width:440px}
.canais{display:grid;gap:14px}
.canal{display:flex;align-items:center;gap:16px;text-decoration:none;background:rgba(238,243,250,.06);
  border:1px solid rgba(169,182,206,.2);border-radius:16px;padding:18px 22px;transition:.22s}
.canal:hover{transform:translateX(6px);border-color:var(--brass);background:rgba(238,243,250,.1)}
.canal .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:19px;flex-shrink:0}
.canal.zap .ico{background:rgba(31,175,56,.18)}
.canal.tel .ico{background:rgba(200,169,106,.15)}
.canal.mail .ico{background:rgba(169,182,206,.14)}
.canal b{display:block;font-size:15px;color:var(--white)}
.canal span{font-size:12.5px;color:var(--mist)}

footer{background:var(--navy-800);color:var(--mist);padding:46px 0 40px;font-size:13px}
footer .wrap{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
footer .aviso{font-size:11px;color:var(--steel);max-width:560px;margin-top:10px}
footer .restrito{margin-top:22px;font-size:12px;font-weight:600;text-decoration:none;color:var(--steel);
  border:1px solid var(--navy-600);padding:9px 20px;border-radius:999px;transition:.2s}
footer .restrito:hover{color:var(--ice);border-color:var(--steel)}
footer .f-areas{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:20px;font-size:12px}
footer .f-areas a{color:var(--mist);text-decoration:none;transition:.2s}
footer .f-areas a:hover{color:var(--brass)}

.wa-float{position:fixed;right:22px;bottom:22px;z-index:50;width:58px;height:58px;border-radius:50%;
  background:var(--wa);display:grid;place-items:center;text-decoration:none;font-size:26px;
  box-shadow:0 14px 30px rgba(31,175,56,.45);transition:.2s}
.wa-float:hover{transform:scale(1.08)}

a:focus-visible,.btn:focus-visible,.card:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px}

/* ============================================================
   PÁGINAS DE ÁREA
   ============================================================ */
.topo-area{position:relative;background:
  linear-gradient(160deg, var(--navy-700) 0%, var(--navy-900) 82%);
  color:var(--ice);overflow:hidden;padding-bottom:70px}
.topo-area::before{content:"";position:absolute;inset:-30% -10%;
  background:linear-gradient(115deg, transparent 46.5%, rgba(200,169,106,.16) 49%, rgba(238,243,250,.05) 50.5%, transparent 54%);
  pointer-events:none}
.topo-area .topbar{border-bottom:1px solid rgba(169,182,206,.14)}
.crumbs{position:relative;z-index:2;font-size:12px;color:var(--mist);letter-spacing:.4px;padding:28px 0 0}
.crumbs a{text-decoration:none;color:var(--mist);transition:.2s}
.crumbs a:hover{color:var(--brass)}
.crumbs span{color:var(--steel);margin:0 8px}
.area-head{position:relative;z-index:2;max-width:760px;padding:26px 0 0}
.area-head h1{font-family:'Fraunces',serif;font-weight:400;letter-spacing:-.01em;
  font-size:clamp(32px,5vw,52px);line-height:1.1;color:var(--white);margin:20px 0 20px}
.area-head h1 em{font-style:italic;font-weight:300;color:var(--brass)}
.area-head .lead{color:var(--mist);max-width:620px}

.conteudo{padding:80px 0 20px;background:var(--white)}
.conteudo .col{max-width:820px}
.conteudo h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(24px,3.2vw,34px);
  color:var(--navy-800);margin:52px 0 22px;letter-spacing:-.01em}
.conteudo h2:first-of-type{margin-top:0}
.conteudo p{color:#3d4c66;font-size:16.5px;font-weight:300;margin-bottom:18px}
.conteudo p b{font-weight:600;color:var(--navy-800)}

.lista-atua{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:8px 0 10px}
@media (max-width:640px){.lista-atua{grid-template-columns:1fr}}
.lista-atua li{font-size:15px;color:#3d4c66;font-weight:300;padding:10px 0 10px 24px;position:relative;border-bottom:1px solid #F0F4FA}
.lista-atua li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:1.5px;background:var(--brass)}

.faq{border-top:1px solid #DCE5F1;margin-top:10px}
.faq details{border-bottom:1px solid #DCE5F1;padding:6px 0}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-size:17px;font-weight:600;
  color:var(--navy-800);position:relative;transition:.2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:17px;font-size:24px;font-weight:300;color:var(--brass);transition:.2s}
.faq details[open] summary::after{content:"–"}
.faq summary:hover{color:var(--brass)}
.faq .resp{padding:0 10px 22px 0;font-size:15.5px;color:#3d4c66;font-weight:300}
.faq .fonte{display:block;margin-top:12px;font-size:12px;font-weight:600;letter-spacing:.4px;color:var(--steel)}

.cta-area{background:linear-gradient(150deg,var(--navy-600),var(--navy-800));border-radius:24px;
  color:var(--ice);padding:clamp(32px,5vw,54px);margin:60px 0 0;position:relative;overflow:hidden}
.cta-area::before{content:"";position:absolute;inset:-30%;
  background:linear-gradient(115deg,transparent 46%,rgba(200,169,106,.14) 50%,transparent 54%)}
.cta-area .in{position:relative;z-index:2}
.cta-area h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(24px,3.2vw,34px);color:var(--white);margin:16px 0 12px}
.cta-area p{color:var(--mist);font-weight:300;max-width:520px;margin-bottom:26px}
.cta-area .btn-wa{box-shadow:0 12px 28px rgba(31,175,56,.32)}

.outras{padding:70px 0 100px;background:var(--white)}
.outras .head{margin-bottom:28px}
.outras h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(22px,2.8vw,30px);color:var(--navy-800);margin-top:18px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-block;border:1px solid #DCE5F1;border-radius:999px;padding:10px 20px;font-size:14px;
  color:#3d4c66;text-decoration:none;transition:.2s;background:var(--white)}
.chip:hover{border-color:var(--brass);color:var(--navy-800);transform:translateY(-2px)}

.nota-legal{font-size:11.5px;color:#9CA3AF;line-height:1.6;border-top:1px solid #F0F4FA;padding-top:18px;margin-top:40px}

@media (max-width:900px){
  .sobre .grid,.painel .inner{grid-template-columns:1fr;gap:40px}
  .passo-grid{grid-template-columns:1fr;gap:28px}
  .areas{clip-path:polygon(0 0,100% 2%,100% 100%,0 98%);padding:120px 0 130px}
  .p-mark{right:-30%;bottom:-6%;width:90vw;opacity:.35}
  .sec-pad{padding:80px 0}
  .conteudo{padding:56px 0 10px}
}
@media (max-width:520px){
  .topbar{padding:20px 0}
  .top-cta{display:none}
  .ctas .btn{width:100%;justify-content:center}
  .hero-foot .wrap{gap:14px;font-size:11.5px}
  .wa-float{width:52px;height:52px;font-size:23px}
}
