
.legal-public{background:#faf7f1}.legal-hero{position:relative;overflow:hidden;padding:150px 0 80px;min-height:850px}.legal-hero-grid{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:60px;position:relative}.legal-hero-copy h1{font-size:clamp(58px,6vw,88px);line-height:.95;letter-spacing:-.055em;margin:22px 0 26px;max-width:660px}.legal-hero-copy h1 span{font-family:Georgia,serif;font-style:italic;color:#d0a857;font-weight:400}.legal-hero-copy>p{max-width:620px;color:#bac7d5;font-size:16px;line-height:1.8}.legal-proof{display:flex;gap:22px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.13);font-size:9px;color:#9eafc2}.legal-hero-screen{position:relative}.screen-window{background:#fff;border-radius:18px;overflow:hidden;border:1px solid rgba(199,161,90,.35);box-shadow:0 35px 90px rgba(0,0,0,.34);transform:perspective(1400px) rotateY(-2deg) rotateX(1deg)}.screen-bar{height:34px;background:#f4f3f1;display:flex;align-items:center;gap:6px;padding:0 12px}.screen-bar i{width:7px;height:7px;border-radius:50%;background:#c9c0b2}.screen-bar span{margin-left:12px;font-size:7px;color:#8d939a}.screen-window .demo-frame-wrap{width:100%}.screen-window .demo-frame{display:block}.screen-caption{position:absolute;right:18px;bottom:-22px;background:#071a33;border:1px solid rgba(199,161,90,.4);border-radius:12px;padding:10px 13px;color:#fff;display:grid;gap:2px}.screen-caption b{font-size:8px;color:#d1a957}.screen-caption span{font-size:8px;color:#aebccc}.legal-intro{padding:90px 0 25px}.legal-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.legal-heading small{font-size:9px;letter-spacing:.18em;color:#9c7536;font-weight:800}.legal-heading h2{font-size:clamp(46px,5vw,72px);line-height:1;letter-spacing:-.045em;margin:13px 0 0}.legal-heading h2 em{font-family:Georgia,serif;font-weight:400;color:#c49b51}.legal-heading>p{color:#687685;line-height:1.8;font-size:13px}.legal-feature{padding:70px 0}.legal-feature.alt{background:#f1eee8}.legal-feature-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}.legal-feature.alt .legal-copy{order:2}.legal-feature.alt .legal-screen{order:1}.legal-copy>span{font-size:9px;letter-spacing:.18em;color:#9c7536;font-weight:800}.legal-copy h2{font-size:42px;line-height:1.05;letter-spacing:-.04em;margin:12px 0 18px}.legal-copy p{font-size:13px;line-height:1.8;color:#687685}.legal-copy ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}.legal-copy li{font-size:10px;border-top:1px solid #ddd7ce;padding-top:10px}.legal-copy li:before{content:'✓';color:#b4873d;font-weight:900;margin-right:8px}.legal-screen{background:#fff;border:1px solid #ddd7cf;border-radius:18px;padding:9px;box-shadow:0 24px 55px rgba(7,26,51,.08)}.demo-frame-wrap{position:relative;width:100%;overflow:hidden;border-radius:11px;background:#f6f7f8}.demo-frame{display:block;width:1365px;height:768px;border:0;transform-origin:top left;pointer-events:none}.legal-screen .demo-frame-wrap{border-radius:11px}.legal-boundary{padding:80px 0}.legal-boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.legal-boundary small{font-size:9px;letter-spacing:.18em;color:#caa255}.legal-boundary h2{font-size:50px;line-height:1.05;margin:12px 0 0}.legal-boundary h2 span{font-family:Georgia,serif;font-style:italic;color:#d0a857;font-weight:400}.legal-boundary p{font-size:13px;line-height:1.9;color:#afbdcb}.legal-process{padding-top:90px}.legal-plans{padding:95px 0}.legal-heading.light h2,.legal-heading.light p{color:#fff}.legal-heading.light p{color:#adbbc9}.legal-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;margin:50px auto 0}.legal-plan-grid article{border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:28px;color:#fff;background:rgba(255,255,255,.035)}.legal-plan-grid article.featured{border-color:#c6a15a;box-shadow:0 0 0 1px rgba(198,161,90,.18),0 24px 60px rgba(0,0,0,.18)}.legal-plan-grid small{font-size:9px;letter-spacing:.15em;color:#caa255}.legal-plan-grid h3{font-size:26px;margin:12px 0 18px}.legal-plan-grid ul{list-style:none;padding:0;display:grid;gap:10px;color:#b6c3d0;font-size:10px}.legal-plan-grid li:before{content:'✓';color:#caa255;margin-right:8px}.legal-plan-grid a{display:inline-block;margin-top:22px;color:#fff;border-bottom:1px solid #caa255;padding-bottom:5px;font-size:10px;font-weight:800}
.legal-plan-price{display:grid;gap:4px;margin:-4px 0 18px;padding:14px 0 13px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.legal-plan-price strong{font-size:24px;line-height:1;color:#fff}.legal-plan-price strong small{font-size:10px;color:#9eafc2;letter-spacing:0;font-weight:500;margin-left:4px}.legal-plan-price span{font-size:9px;color:#caa255}.legal-plan-price[hidden]{display:none!important}
@media(max-width:1050px){.legal-hero-grid,.legal-feature-grid,.legal-heading,.legal-boundary-grid{grid-template-columns:1fr}.legal-hero{padding-top:130px}.legal-hero-copy{max-width:760px}.legal-feature.alt .legal-copy,.legal-feature.alt .legal-screen{order:initial}.legal-heading{gap:20px}.legal-feature-grid{gap:32px}.legal-boundary-grid{gap:30px}}
@media(max-width:760px){.legal-hero{padding:115px 0 65px;min-height:auto}.legal-hero-copy h1{font-size:54px}.legal-proof{flex-wrap:wrap}.legal-feature{padding:55px 0}.legal-copy h2{font-size:36px}.legal-heading h2{font-size:45px}.legal-plan-grid{grid-template-columns:1fr}.legal-boundary h2{font-size:40px}.legal-screen{padding:5px;overflow:auto}.screen-window{overflow:hidden}}


/* V10.19 — demos jurídicas distintas e legíveis */
.legal-screen .demo-frame-wrap,
.screen-window .demo-frame-wrap{
  aspect-ratio:1365/768;
  height:auto;
}
.legal-screen .demo-frame,
.screen-window .demo-frame{
  width:1365px;
  height:768px;
  transform:scale(var(--legal-demo-scale, .64));
  transform-origin:top left;
}
.legal-screen .demo-frame-wrap{--legal-demo-scale:.64}
.screen-window .demo-frame-wrap{--legal-demo-scale:.60}
@media(min-width:1300px){
  .legal-screen .demo-frame-wrap{--legal-demo-scale:.67}
  .screen-window .demo-frame-wrap{--legal-demo-scale:.64}
}
@media(max-width:1050px){
  .legal-screen .demo-frame-wrap,.screen-window .demo-frame-wrap{--legal-demo-scale:.70}
}


/* ============================================================
   V10.20 — MÓDULOS JURÍDICOS EM PADRÃO FIXO
   Mesmo layout em todos: texto à esquerda + tela à direita.
   Alternância visual: claro / azul / claro / azul / claro.
   ============================================================ */

.legal-module{
  padding:84px 0;
  position:relative;
  overflow:hidden;
}

.legal-module .legal-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  gap:54px;
  align-items:center;
}

/* Não inverter mais Processos/Tarefas. O layout deve ser sempre o mesmo. */
.legal-module.alt .legal-copy,
.legal-module.alt .legal-screen{
  order:initial !important;
}

.legal-module .legal-copy{
  max-width:430px;
}

.legal-module .legal-copy>span{
  display:block;
  font-size:9px;
  letter-spacing:.18em;
  font-weight:800;
  margin-bottom:12px;
}

.legal-module .legal-copy h2{
  font-size:clamp(36px,3.5vw,50px);
  line-height:1.02;
  letter-spacing:-.042em;
  margin:0 0 20px;
}

.legal-module .legal-copy p{
  font-size:13px;
  line-height:1.85;
  margin:0;
}

.legal-module .legal-copy ul{
  margin-top:25px;
  gap:0;
}

.legal-module .legal-copy li{
  padding:11px 0;
  border-top:1px solid;
  line-height:1.45;
}

/* A tela fica menor e mais parecida com uma demonstração,
   em vez de ocupar praticamente a seção toda. */
.legal-module .legal-screen{
  width:100%;
  max-width:740px;
  justify-self:end;
  border-radius:18px;
  padding:8px;
  box-shadow:0 24px 58px rgba(7,26,51,.10);
}

.legal-module .legal-screen .demo-frame-wrap{
  width:100%;
  border-radius:12px;
  overflow:hidden;
}

/* --------------------- MÓDULOS CLAROS --------------------- */
.legal-module.light-module{
  background:#faf7f1;
  color:#071a33;
}

.legal-module.light-module .legal-copy>span{
  color:#9c7536;
}

.legal-module.light-module .legal-copy h2{
  color:#071a33;
}

.legal-module.light-module .legal-copy p{
  color:#667585;
}

.legal-module.light-module .legal-copy li{
  color:#263a51;
  border-color:#ddd7ce;
}

.legal-module.light-module .legal-copy li:before{
  color:#b4873d;
}

.legal-module.light-module .legal-screen{
  background:#fff;
  border:1px solid #ddd7cf;
}

/* ---------------------- MÓDULOS AZUIS --------------------- */
.legal-module.dark-module{
  background:
    radial-gradient(circle at 72% 35%, rgba(54,94,139,.17), transparent 36%),
    #071a33;
  color:#fff;
}

.legal-module.dark-module .legal-copy>span{
  color:#d0a857;
}

.legal-module.dark-module .legal-copy h2{
  color:#fff;
}

.legal-module.dark-module .legal-copy p{
  color:#b8c5d4;
}

.legal-module.dark-module .legal-copy li{
  color:#e2e9f0;
  border-color:rgba(255,255,255,.14);
}

.legal-module.dark-module .legal-copy li:before{
  color:#d0a857;
}

.legal-module.dark-module .legal-screen{
  background:#0c2340;
  border:1px solid rgba(208,168,87,.35);
  box-shadow:0 30px 72px rgba(0,0,0,.27);
}

/* cria uma transição suave entre os blocos, sem mudar o layout */
.legal-module + .legal-module{
  border-top:1px solid rgba(7,26,51,.05);
}
.legal-module.dark-module + .legal-module{
  border-top:0;
}

/* O conteúdo da tela continua 1365x768, mas o iframe se adapta
   à largura menor da demonstração. */
.legal-module .demo-frame{
  width:1365px;
  height:768px;
  transform-origin:top left;
}

/* Desktop largo: ainda limitar a tela para ela não dominar o texto */
@media(min-width:1400px){
  .legal-module .legal-feature-grid{
    grid-template-columns:minmax(0,.78fr) minmax(560px,1.22fr);
    gap:62px;
  }
  .legal-module .legal-screen{
    max-width:780px;
  }
}

/* Tablet: mantém texto primeiro e demonstração depois */
@media(max-width:1050px){
  .legal-module{
    padding:68px 0;
  }
  .legal-module .legal-feature-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .legal-module .legal-copy{
    max-width:720px;
  }
  .legal-module .legal-screen{
    max-width:860px;
    justify-self:start;
  }
}

/* Mobile */
@media(max-width:760px){
  .legal-module{
    padding:54px 0;
  }
  .legal-module .legal-feature-grid{
    gap:25px;
  }
  .legal-module .legal-copy h2{
    font-size:36px;
  }
  .legal-module .legal-screen{
    padding:5px;
    border-radius:14px;
  }
}

/* ============================================================
   V10.21 — AJUSTES FINOS SOLICITADOS
   1) Hero da advocacia um pouco menor no conjunto
   2) Bloco de Clientes com imagem maior/mais legível
   ============================================================ */

.legal-hero{
  padding:132px 0 72px;
  min-height:780px;
}

.legal-hero-grid{
  grid-template-columns:.84fr 1.16fr;
  gap:46px;
}

.legal-hero-copy h1{
  font-size:clamp(52px,5.45vw,78px);
  max-width:610px;
  margin:18px 0 22px;
}

.legal-hero-copy>p{
  max-width:560px;
  font-size:15px;
}

.legal-proof{
  margin-top:28px;
}

.legal-hero-screen{
  max-width:940px;
  justify-self:end;
}

.legal-hero-screen .screen-window{
  border-radius:16px;
}

.legal-hero-screen .screen-caption{
  bottom:-16px;
}

/* Clientes: aumentar apenas a demonstração para ficar mais legível */
section[data-legal-key="legal_clients"] .legal-screen{
  max-width:860px;
}

section[data-legal-key="legal_clients"] .legal-screen .demo-frame-wrap{
  --legal-demo-scale:.72;
}

@media(min-width:1300px){
  .legal-hero-screen{
    max-width:970px;
  }
  section[data-legal-key="legal_clients"] .legal-screen{
    max-width:900px;
  }
  section[data-legal-key="legal_clients"] .legal-screen .demo-frame-wrap{
    --legal-demo-scale:.74;
  }
}

@media(max-width:1050px){
  .legal-hero{
    padding:118px 0 62px;
    min-height:auto;
  }
  .legal-hero-grid{
    gap:30px;
  }
  .legal-hero-copy h1{
    font-size:clamp(48px,8vw,66px);
  }
  .legal-hero-screen{
    max-width:100%;
  }
  section[data-legal-key="legal_clients"] .legal-screen{
    max-width:920px;
  }
  section[data-legal-key="legal_clients"] .legal-screen .demo-frame-wrap{
    --legal-demo-scale:.75;
  }
}

@media(max-width:760px){
  .legal-hero{
    padding:108px 0 58px;
  }
  .legal-hero-copy h1{
    font-size:48px;
  }
  section[data-legal-key="legal_clients"] .legal-screen .demo-frame-wrap{
    --legal-demo-scale:.78;
  }
}
