/*
Theme Name: Palazzi e Franceschini
Description: Tema institucional para escritório de advocacia, desenvolvido para Palazzi e Franceschini Sociedade de Advogados.
Author: Palazzi e Franceschini
Version: 1.1
Text Domain: palazzi-franceschini
*/

:root{
  --black:#232323;
  --charcoal:#323232;
  --gold:#EEBE00;
  --gold-dark:#B8930A;
  --white:#FFFFFF;
  --gray:#F4F4F1;
  --gray-mid:#8A8A8A;
  --gray-line:#E3E3E0;
  --serif:"Playfair Display", Georgia, serif;
  --sans:"Inter", Arial, sans-serif;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family:var(--sans);
  color:var(--black);
  background:var(--white);
}
a{ color:inherit; }
img{ max-width:100%; display:block; }
.pf-wrap{ max-width:1320px; margin:0 auto; padding:0 64px; }

/* ---------- HEADER ---------- */
.pf-topbar{
  background:var(--charcoal);
  color:var(--gray-mid);
  padding:10px 0;
  font-size:12px;
}
.pf-topbar .pf-wrap{ display:flex; justify-content:space-between; align-items:center; }
.pf-topbar .pf-social{ display:flex; gap:10px; }
.pf-topbar .pf-social a{
  width:26px; height:26px; border:1px solid rgba(255,255,255,0.25); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--white); text-decoration:none;
}
.pf-topbar .pf-phone{ color:var(--white); font-weight:500; }

.pf-header{
  background:var(--charcoal);
  padding:0;
  border-bottom:1px solid rgba(255,255,255,0.08);
  position:sticky; top:0; z-index:500;
}
.pf-header .pf-wrap{ display:flex; align-items:center; justify-content:space-between; }
.pf-logo{ font-family:var(--serif); font-weight:700; font-size:22px; color:var(--white); text-decoration:none; line-height:1.2; }
.pf-logo small{ display:block; font-size:10px; letter-spacing:0.16em; color:var(--gold); font-weight:600; margin-top:4px; }
.pf-header-right{ display:flex; align-items:center; gap:30px; }
.pf-menu-toggle{
  display:flex; align-items:center; gap:14px; background:none; border:none; cursor:pointer;
  color:var(--white); font-size:17px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; padding:0;
}
.pf-menu-toggle .pf-bars{ display:flex; flex-direction:column; gap:4px; }
.pf-menu-toggle .pf-bars span{ display:block; width:40px; height:4px; background:var(--gold); transition:transform .25s, opacity .25s; }
.pf-menu-toggle.pf-toggle-open .pf-bars span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.pf-menu-toggle.pf-toggle-open .pf-bars span:nth-child(2){ opacity:0; }
.pf-menu-toggle.pf-toggle-open .pf-bars span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
.pf-header-social{ display:flex; gap:8px; }
.pf-header-social a{
  width:30px; height:30px; border:1px solid var(--gold); border-radius:2px; display:flex;
  align-items:center; justify-content:center; color:var(--gold); text-decoration:none; font-size:12px;
  transition:background 0.2s, color 0.2s;
}
.pf-lang-switch{ display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; letter-spacing:0.04em; }
.pf-lang-switch a{ color:rgba(255,255,255,0.55); text-decoration:none; transition:color 0.2s; }
.pf-lang-switch a:hover{ color:var(--white); }
.pf-lang-switch a.pf-lang-active{ color:var(--gold); }
.pf-lang-switch span{ color:rgba(255,255,255,0.3); }
.pf-header-social a:hover{ background:var(--gold); color:var(--charcoal); }

.pf-nav-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:9997;
  opacity:0; visibility:hidden; transition:opacity .35s ease;
}
.pf-nav-backdrop.pf-nav-backdrop--open{ opacity:1; visibility:visible; }

.pf-nav{
  position:fixed; top:0; right:0; bottom:0; width:min(400px, 88vw);
  background:var(--charcoal); z-index:9998;
  display:flex; align-items:center;
  transform:translateX(100%); transition:transform .35s ease;
  box-shadow:-10px 0 40px rgba(0,0,0,0.3);
}
.pf-nav.pf-nav--open{ transform:translateX(0); }
.pf-nav ul{ list-style:none; margin:0; padding:0 48px; text-align:left; width:100%; }
.pf-nav li{ margin:16px 0; }
.pf-nav a{ text-decoration:none; color:var(--white); font-size:24px; font-family:var(--serif); font-weight:500; }
.pf-nav a:hover, .pf-nav .current-menu-item a{ color:var(--gold); }
.pf-nav-mobile-extra{ display:none; }

@media(max-width:600px){
  .pf-header-right > .pf-header-social,
  .pf-header-right > .pf-lang-switch{ display:none; }
  .pf-menu-toggle{ font-size:13px !important; gap:8px !important; }
  .pf-menu-toggle-label{ display:none; }
  .pf-menu-toggle .pf-bars span{ width:28px !important; height:3px !important; }
  .pf-nav{ width:min(300px, 78vw); }
  .pf-nav a{ font-size:22px; }
  .pf-nav-mobile-extra{
    display:block; position:absolute; left:48px; bottom:40px;
  }
  .pf-nav-mobile-extra .pf-header-social{ margin-bottom:16px; }
  .pf-nav-mobile-extra .pf-lang-switch a{ font-size:13px; }
}
.pf-blog-page .pf-nav a{ text-transform:none; letter-spacing:0; font-size:24px; }

/* ---------- HERO ---------- */
.pf-hero{
  position:relative;
  min-height:460px;
  background:linear-gradient(90deg, rgba(35,35,35,0.97) 46%, rgba(35,35,35,0.6) 68%, rgba(35,35,35,0.0) 88%), var(--charcoal);
  background-size:cover; background-position:center;
  display:flex; align-items:center;
}
.pf-hero-inner{ max-width:600px; padding:70px 0; }
.pf-hero h1{
  font-family:var(--serif); font-weight:600; font-size:46px; line-height:1.18; color:var(--white); margin:0;
}
.pf-hero h1 em{ color:var(--gold); font-style:italic; }

/* ---------- SECTION HEAD ---------- */
.pf-section{ padding:80px 0; }
.pf-section-label{
  font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-dark);
  font-weight:700; margin-bottom:12px;
}
.pf-section-title{ font-family:var(--serif); font-weight:600; font-size:34px; color:var(--black); margin:0 0 16px; }
.pf-section-title em{ color:var(--gold-dark); font-style:italic; }
.pf-section-intro{ font-size:14.5px; color:#555; max-width:600px; line-height:1.7; margin-bottom:44px; }

/* ---------- AREAS GRID ---------- */
.pf-areas-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  column-gap:1px; row-gap:1px; background:var(--gray-line); border:1px solid var(--gray-line);
}
.pf-area-card{ background:var(--white); padding:30px 24px; transition:background 0.2s; }
.pf-area-card:hover{ background:#FAF7EC; }
.pf-area-num{ font-family:var(--serif); font-size:34px; color:#E4E4E0; line-height:1; margin-bottom:18px; }
.pf-area-card h3{ font-family:var(--serif); font-size:19px; font-weight:700; margin:0 0 8px; color:var(--black); }
.pf-area-sub{ font-size:11.5px; color:var(--gold-dark); font-weight:600; margin-bottom:12px; }
.pf-area-card a.pf-more{
  display:inline-block; font-size:11px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--gold-dark); text-decoration:none; font-weight:700;
}
.pf-area-card a.pf-more:hover{ color:var(--black); }

/* ---------- DESDE 1995 / LEGACY ---------- */
.pf-legacy{ background:var(--gray); }
.pf-legacy-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.pf-legacy-text p{ font-size:14px; color:#555; line-height:1.7; max-width:420px; }
.pf-stats{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--gray-line); border:1px solid var(--gray-line); }
.pf-stat{ background:var(--white); padding:32px 24px; text-align:center; }
.pf-stat .num{ font-family:var(--serif); font-size:40px; font-weight:700; color:var(--gold-dark); line-height:1; }
.pf-stat .label{ font-size:11.5px; color:#666; margin-top:10px; }

/* ---------- NEWS ---------- */
.pf-news-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); column-gap:56px; row-gap:8px; }

/* Página de Publicações — blocos (Notícias/Artigos) + barra lateral */
.pf-pub-layout{ display:grid; grid-template-columns:1fr 320px; gap:60px; align-items:start; }

.pf-pub-block{ padding-bottom:44px; margin-bottom:44px; border-bottom:1px solid var(--gray-line); }
.pf-pub-block:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.pf-pub-block-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:26px; }
.pf-pub-block-head h2{ font-family:var(--serif); font-size:22px; font-weight:600; color:var(--black); }
.pf-pub-block-head a{ font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; text-decoration:none; }
.pf-pub-block-head a:hover{ color:var(--black); }
.pf-pub-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.pf-pub-cat{ font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; margin-bottom:8px; }
.pf-pub-card h3{ font-family:var(--serif); font-size:15.5px; font-weight:700; line-height:1.35; margin:0 0 8px; }
.pf-pub-card h3 a{ color:var(--black); text-decoration:none; }
.pf-pub-card h3 a:hover{ color:var(--gold-dark); }
.pf-pub-date{ font-size:11.5px; color:#888; }

.pf-side-block{ margin-bottom:36px; }
.pf-side-title{ font-family:var(--serif); font-size:14px; font-weight:700; color:var(--black); margin-bottom:14px; padding-bottom:8px; border-bottom:2px solid var(--gold); }
.pf-side-search{ display:flex; }
.pf-side-search input{ flex:1; border:1px solid var(--gray-line); padding:9px 11px; font-size:12.5px; font-family:inherit; }
.pf-side-search button{ background:var(--charcoal); color:var(--white); border:none; padding:0 14px; cursor:pointer; }
.pf-side-list{ list-style:none; margin:0; padding:0; }
.pf-side-list li{ padding:9px 0; border-top:1px solid var(--gray-line); }
.pf-side-list li:first-child{ border-top:none; padding-top:0; }
.pf-side-list a{ font-size:12.5px; color:#444; text-decoration:none; line-height:1.5; }
.pf-side-list a:hover{ color:var(--gold-dark); }
.pf-side-featured a{ font-family:var(--serif); font-size:13px; font-weight:600; color:var(--black); }
.pf-tag-cloud{ display:flex; flex-wrap:wrap; gap:7px; }
.pf-tag-cloud a{ font-size:11px; color:#555; text-decoration:none; border:1px solid var(--gray-line); padding:5px 10px; }
.pf-tag-cloud a:hover{ border-color:var(--gold-dark); color:var(--gold-dark); }
.pf-news-item{ padding:28px 0; border-top:1px solid var(--gray-line); min-width:0; }
.pf-news-meta{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; font-family:var(--sans); }
.pf-news-cat{ font-size:13px; letter-spacing:0.05em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; }
.pf-news-date{ font-size:11px; color:var(--gray-mid); }
.pf-news-item h4{ font-family:var(--serif); font-size:20px; font-weight:400; line-height:1.3; margin:0 0 12px; }
.pf-news-item h4 a{ text-decoration:none; color:var(--black); }
.pf-news-item p{ font-size:13.5px; color:#666; line-height:1.6; margin:0 0 14px; }
.pf-news-item a.pf-read{ font-size:12.5px; color:var(--black); text-decoration:none; font-weight:600; }
.pf-news-item a.pf-read:hover{ color:var(--gold-dark); }
.pf-news-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px; flex-wrap:wrap; gap:12px; }
.pf-news-head a{ font-size:13px; color:var(--black); text-decoration:none; font-weight:600; }

/* ---------- NEWSLETTER ---------- */
.pf-newsletter{ background:var(--charcoal); padding:70px 0; }
.pf-newsletter-inner{ display:flex; justify-content:space-between; align-items:center; gap:44px; flex-wrap:wrap; }
.pf-newsletter h3{ font-family:var(--serif); color:var(--white); font-size:26px; font-weight:700; margin:0 0 8px; }
.pf-newsletter p{ color:#B8B8B8; font-size:14px; margin:0; max-width:360px; }
.pf-newsletter form{ display:flex; max-width:400px; width:100%; }
.pf-newsletter input[type=email]{
  flex:1; padding:14px 16px; border:1px solid rgba(255,255,255,0.25); background:transparent; color:var(--white); font-size:13px;
}
.pf-newsletter button{
  padding:14px 24px; background:var(--gold); color:var(--black); border:none; font-weight:700; font-size:12px;
  letter-spacing:0.04em; text-transform:uppercase; cursor:pointer;
}
.pf-newsletter button:hover{ background:var(--white); }

/* ---------- FOOTER ---------- */
.pf-footer{ background:var(--charcoal); color:var(--gray-mid); font-size:13px; padding:56px 0 0; }
.pf-footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,0.12); }
.pf-footer-grid .pf-logo{ color:var(--white); }
.pf-footer-grid .pf-logo small{ color:var(--gold); }
.pf-footer-desc{ font-size:12.5px; margin:16px 0; max-width:320px; line-height:1.6; }
.pf-footer-social{ display:flex; gap:10px; }
.pf-footer-social a{
  width:28px; height:28px; border:1px solid rgba(255,255,255,0.2); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--white); text-decoration:none; font-size:11px;
}
.pf-footer-col-title{ font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; margin-bottom:14px; }
.pf-footer-col a, .pf-footer-col div{ display:block; margin-bottom:9px; text-decoration:none; color:var(--gray-mid); }
.pf-footer-bottom{ text-align:center; font-size:11px; padding:24px 0; }

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .pf-wrap{ padding:0 24px; }
  .pf-hero h1{ font-size:32px; }
  .pf-hero-inner{ max-width:100%; padding:48px 0; }
  .pf-legacy-grid{ grid-template-columns:1fr; }
  .pf-footer-grid{ grid-template-columns:1fr; gap:28px; }
  .pf-section{ padding:56px 0; }
}

/* ---------- PAGE HERO (páginas internas) ---------- */
.pf-page-hero{
  background:linear-gradient(90deg, rgba(30,28,26,0.94) 0%, rgba(30,28,26,0.86) 42%, rgba(30,28,26,0.35) 78%),
             url('assets/page-hero-photo.png') center right/cover no-repeat, var(--charcoal);
  padding:46px 0 34px;
}
.pf-page-hero .pf-section-label{ color:var(--gold); }
.pf-page-hero h1{ font-family:var(--serif); font-weight:600; font-size:30px; color:var(--white); margin:0; }
.pf-page-hero p{ color:#D8D8D8; font-size:13.5px; max-width:560px; margin-top:12px; line-height:1.6; }

/* ---------- TEAM ---------- */
.pf-team-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:24px; }
.pf-team-card{ background:#F6F6F4; border-top:3px solid var(--gold); padding:28px 26px; }
.pf-team-card h3{ font-family:var(--serif); font-size:19px; font-weight:700; margin:0 0 4px; }
.pf-team-role{ font-size:11px; color:var(--gold-dark); font-weight:700; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:14px; }
.pf-team-card p{ font-size:13px; color:#555; line-height:1.6; margin:0 0 14px; }
.pf-team-card a{ font-size:12.5px; color:var(--black); text-decoration:none; font-style:italic; }

/* ---------- AREAS DETAIL PAGE ---------- */
.pf-areas-detail-list{ display:flex; flex-direction:column; }
.pf-area-detail{ display:grid; grid-template-columns:80px 1fr; gap:24px; padding:34px 0; border-top:1px solid var(--gray-line); }
.pf-area-detail:last-child{ border-bottom:1px solid var(--gray-line); }
.pf-area-detail .pf-area-num{ margin-bottom:0; }
.pf-area-detail h3{ font-family:var(--serif); font-size:19px; font-weight:700; margin:0 0 6px; }
.pf-area-detail .pf-area-sub{ margin-bottom:10px; }
.pf-area-detail p{ font-size:13.5px; color:#555; line-height:1.7; max-width:640px; margin:0; }

/* ---------- CONTACT PAGE ---------- */
.pf-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:stretch; }
.pf-contact-info{
  background:var(--charcoal); position:relative; overflow:hidden;
  padding:44px 40px; display:flex; flex-direction:column; justify-content:center;
}
.pf-contact-info::before{
  content:''; position:absolute; width:280px; height:280px; border-radius:50%;
  border:1px solid rgba(238,190,0,0.35); right:-100px; bottom:-110px; pointer-events:none;
}
.pf-contact-info::after{
  content:''; position:absolute; top:0; right:0; bottom:0; width:46%;
  background:var(--gold); opacity:0.06; clip-path:polygon(38% 0, 100% 0, 100% 100%, 8% 100%);
  pointer-events:none;
}
.pf-contact-info-title{ font-family:var(--serif); font-size:19px; font-weight:700; margin:24px 0 10px; color:var(--white); position:relative; z-index:1; }
.pf-contact-info-title:first-child{ margin-top:0; }
.pf-contact-info p, .pf-contact-info div{ font-size:13.5px; color:rgba(255,255,255,0.7); line-height:1.7; margin-bottom:6px; position:relative; z-index:1; }
.pf-contact-info a{ color:var(--white); text-decoration:none; }
.pf-contact-social{ display:flex; gap:10px; margin-top:18px; position:relative; z-index:1; }
.pf-contact-social a{
  width:28px; height:28px; border:1px solid var(--gold); border-radius:2px;
  display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--gold); text-decoration:none;
  transition:background 0.2s, color 0.2s;
}
.pf-contact-social a:hover{ background:var(--gold); color:var(--charcoal); }

/* Wizard (formulário interativo de contato) */
.pf-wizard{ box-sizing:border-box; background:#FAFAF8; padding:40px; border:1px solid var(--gray-line); }
.pf-wizard *{ box-sizing:border-box; }
.pf-wizard .pf-dot{ width:30px; height:30px; border-radius:50%; background:#DEDEDA; color:#8A8A8A; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; transition:background 0.25s, color 0.25s; }
.pf-wizard .pf-dot-active, .pf-wizard .pf-dot-done{ background:var(--charcoal); color:var(--white); }
.pf-wizard .pf-line{ flex:1; max-width:70px; height:1px; background:#DEDEDA; margin:0 8px; transition:background 0.25s; }
.pf-wizard .pf-line-active{ background:var(--gold); }
.pf-wizard .pf-progress{ display:flex; align-items:center; margin-bottom:30px; }
.pf-wizard .pf-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:12px; margin-bottom:8px; }
.pf-wizard .pf-grid-3{ grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); }
.pf-wizard .pf-opt{ min-width:0; overflow:hidden; border:1px solid #DDD; padding:14px 12px; font-size:13px; color:var(--black); cursor:pointer; background:var(--white); transition:background 0.15s, color 0.15s, border-color 0.15s; }
.pf-wizard .pf-opt:hover{ border-color:var(--black); }
.pf-wizard .pf-opt.pf-selected{ background:var(--charcoal); color:var(--white); border-color:var(--black); }
.pf-wizard .pf-opt-title{ font-family:var(--serif); font-size:16px; font-weight:600; margin-bottom:5px; }
.pf-wizard .pf-opt-sub{ font-size:11.5px; opacity:0.75; line-height:1.4; }
.pf-wizard .pf-btn-dark{ background:var(--charcoal); color:var(--white); border:none; padding:13px 24px; font-size:12px; font-weight:700; letter-spacing:0.05em; cursor:pointer; margin-top:14px; }
.pf-wizard .pf-btn-dark:disabled{ background:#BDBDBD; cursor:not-allowed; }
.pf-wizard .pf-btn-dark:not(:disabled):hover{ background:var(--gold); color:var(--black); }
.pf-wizard .pf-btn-outline{ background:transparent; color:#8A8A8A; border:1px solid #DDD; padding:13px 24px; font-size:12px; font-weight:700; letter-spacing:0.05em; cursor:pointer; margin-top:14px; }
.pf-wizard .pf-btn-outline:hover{ border-color:var(--black); color:var(--black); }
.pf-wizard .pf-input{ width:100%; border:1px solid #DDD; background:var(--white); padding:12px 13px; font-size:13px; font-family:var(--sans); color:var(--black); }
.pf-wizard .pf-input:focus{ outline:none; border-color:var(--gold); }
.pf-wizard-label{ font-size:14.5px; color:#333; margin-bottom:16px; }

@media(max-width:760px){
  .pf-contact-grid{ grid-template-columns:1fr; }
  .pf-area-detail{ grid-template-columns:1fr; gap:8px; }
}

/* ---------- CONTATO (home) — layout em 3 colunas: título | wizard | direto ---------- */
.pf-contact-grid--split{ display:grid; grid-template-columns:300px 1fr 300px; gap:56px; align-items:stretch; }
#contato .pf-wrap{ max-width:1600px; }
#contato .pf-wizard .pf-grid{ grid-template-columns:1fr 1fr; }
.pf-contact-title-col{ padding-left:28px; }
.pf-contact-title-h2{ font-family:var(--serif); font-weight:600; font-size:42px; line-height:1.08; color:var(--black); margin:15px 0 0; }
.pf-contact-title-h2 em{ font-style:italic; color:var(--gold-dark); }

.pf-wizard--flat{ border:none; background:transparent; padding:0; }

.pf-contact-info--flat{ background:transparent; padding:0; border:none; }
.pf-contact-info--flat::before, .pf-contact-info--flat::after{ content:none; }
.pf-contact-info--flat .pf-contact-info-title{ color:var(--black); }
.pf-contact-info--flat div, .pf-contact-info--flat p{ color:#68747a; }
.pf-contact-info--flat a{ color:var(--black); }
.pf-contact-info--flat .pf-contact-social a{ color:var(--gold-dark); border-color:var(--gold-dark); }
.pf-contact-info--flat .pf-contact-social a:hover{ background:var(--gold-dark); color:#fff; }

/* ---------- FOTO DE FUNDO LATERAL (Areas + Contato, home) ---------- */
.pf-side-photo-wrap{ position:relative; overflow:hidden; }
.pf-side-photo-wrap > img.pf-bg-photo{
  position:absolute; left:0; top:0; width:400px; height:100%;
  object-fit:cover; object-position:left top; z-index:3; pointer-events:none;
  mix-blend-mode:multiply; opacity:0.92; border-radius:0 !important;
}
.pf-side-photo-wrap #pf-areas-v3{ position:relative; z-index:1; }
.pf-side-photo-wrap #contato{ position:relative; z-index:1; }
.pf-side-photo-wrap #pf-areas-v3 .pf-wrap,
.pf-side-photo-wrap #contato .pf-wrap{ padding-left:380px; }

@media(max-width:1100px){
  .pf-side-photo-wrap > img.pf-bg-photo{ display:none; }
  .pf-side-photo-wrap #pf-areas-v3 .pf-wrap,
  .pf-side-photo-wrap #contato .pf-wrap{ padding-left:64px; }
}

@media(max-width:900px){
  .pf-contact-grid--split{ grid-template-columns:1fr; gap:32px; }
  .pf-contact-title-col{ padding:0; }
}

/* =========================================================
   V2 — Reconstrução inspirada na referência base44
   ========================================================= */

/* Header transparente sobre o Hero */
.pf-header--overlay{
  position:fixed !important; top:0 !important; left:0 !important; right:0 !important; z-index:9999 !important;
  background:transparent !important; border-bottom:none !important;
  transition:background 0.3s ease;
}
.pf-header--overlay.pf-header--scrolled{
  background:#323232 !important;
  box-shadow:0 2px 20px rgba(0,0,0,0.25);
}
.pf-header--overlay.pf-header--scrolled .pf-header-row{
  padding-top:14px; padding-bottom:14px;
}
.pf-header--overlay .pf-logo{ color:var(--white); }
.pf-header--overlay .pf-logo small{ color:var(--gold); }
.pf-header--overlay .pf-menu-toggle{ color:var(--white); }

body.pf-home .pf-header{ padding:0; }
body.pf-home{ margin-top:0; }

/* Hero diagonal — foto + painel recortado + anel decorativo */
.pf-hero-v3{
  position:relative; min-height:640px; overflow:hidden;
}
.pf-hero-v3-photo{
  position:absolute; inset:0; background-size:cover; background-position:center;
}
.pf-hero-v3-photo::after{
  content:''; position:absolute; inset:0; background:rgba(20,18,16,0.22);
}
.pf-hero-v3-edge{
  position:absolute; inset:0; background:var(--gold);
  clip-path: polygon(58.3% 0, 58.45% 0, 40.45% 100%, 40.3% 100%);
  z-index:2;
}
.pf-hero-v3-panel{
  position:absolute; inset:0; background:rgba(50,50,50,0.68);
  clip-path: polygon(0 0, 58.3% 0, 40.3% 100%, 0 100%);
  z-index:1;
}
.pf-hero-v3-ring{
  position:absolute; top:-60px; left:-160px; width:560px; height:560px; border-radius:50%;
  border:1px solid rgba(238,190,0,0.4); z-index:2; pointer-events:none;
}
.pf-hero-v3-content{ position:relative; z-index:3; padding-top:230px; padding-bottom:60px; min-height:270px; }
.pf-hero-v3-content > .pf-wrap{ position:relative; }
.pf-hero-v3-slide{
  position:absolute; inset:0; opacity:0; visibility:hidden;
  transition:opacity 0.7s ease; pointer-events:none;
}
.pf-hero-v3-slide.pf-hero-v3-slide-active{ position:relative; opacity:1; visibility:visible; pointer-events:auto; }
.pf-hero-v3-inner{ max-width:520px; text-align:left; }
.pf-hero-v3-eyebrow{
  font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold);
  font-weight:600; margin-bottom:18px;
}
.pf-hero-v3-title{
  font-family:var(--serif); font-weight:600; font-size:clamp(30px, 3.4vw, 44px);
  color:var(--white); line-height:1.2; letter-spacing:-0.01em; margin:0;
}
.pf-hero-v3-sub{
  font-size:14.5px; color:rgba(255,255,255,0.78); line-height:1.6; margin:16px 0 26px; max-width:420px;
}
.pf-hero-v3-quote{
  font-family:var(--serif); font-style:italic; font-weight:500; font-size:clamp(24px, 2.6vw, 32px);
  color:var(--white); line-height:1.4; margin:0 0 24px; max-width:480px;
}
.pf-hero-v3-rule{ width:70px; height:3px; background:var(--gold); margin:24px 0 22px; }
.pf-hero-v3-cta{
  display:inline-flex; align-items:center; gap:8px; color:var(--white); text-decoration:none;
  font-size:12.5px; letter-spacing:0.03em; font-weight:600;
  padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,0.4);
  transition:border-color 0.2s, color 0.2s;
}
.pf-hero-v3-cta:hover{ color:var(--gold); border-color:var(--gold); }
.pf-hero-scroll{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:3;
  text-align:center; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:rgba(255,255,255,0.65); display:flex; flex-direction:column; align-items:center; gap:4px;
  text-decoration:none; cursor:pointer; transition:color 0.2s;
}
.pf-hero-scroll:hover{ color:rgba(255,255,255,0.95); }
.pf-hero-scroll-chevron{ color:var(--gold); animation:pf-scroll-bounce 1.8s ease-in-out infinite; }
@keyframes pf-scroll-bounce{
  0%, 100% { transform:translateY(0); }
  50% { transform:translateY(5px); }
}

/* Faixa de notícias abaixo do hero — centralizada, sem marcador/setas, troca sozinha */
.pf-hero-news-strip{ border-bottom:1px solid var(--gray-line); padding:34px 0; }
.pf-hero-news-strip-viewport{ overflow:hidden; }
.pf-hero-news-strip-track{ display:flex; transition:transform 0.6s ease; }
.pf-hero-news-strip-page{
  min-width:100%; box-sizing:border-box; display:flex; justify-content:center;
}
.pf-hero-news-strip-item{
  flex:1; max-width:320px; padding:0 32px; display:flex; flex-direction:column; justify-content:center; gap:10px;
  text-decoration:none; color:inherit; min-width:0;
}
.pf-hero-news-strip-item + .pf-hero-news-strip-item{ border-left:1px solid var(--gray-line); }
.pf-hero-news-strip-date{ font-size:10.5px; letter-spacing:0.08em; color:var(--gold-dark); font-weight:600; text-transform:uppercase; }
.pf-hero-news-strip-title{
  font-family:var(--serif); font-size:16px; font-weight:500; line-height:1.4; color:var(--black);
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.pf-hero-news-strip-cat{ font-size:11.5px; color:#8a8a8a; }


.pf-gold-rule{ width:70px; height:2px; background:var(--gold); margin:26px 0; }
.pf-gold-rule--center{ margin-left:auto; margin-right:auto; }

/* O Escritório (home) */
/* O Escritório — grid 42/58, com "30 ANOS" contornado sobre padrão decorativo */
.pf-office{ background:var(--white); padding-top:32px !important; padding-bottom:68px !important; overflow:hidden; }
.pf-office-grid{ display:grid; grid-template-columns:45% 55%; align-items:stretch; gap:0; }
.pf-office-copy{ padding-right:50px; position:relative; z-index:2; }
.pf-office-title{ font-family:var(--serif); font-weight:600; font-size:34px; line-height:1.15; margin:14px 0 20px; }
.pf-office-title em{ font-style:italic; color:var(--gold-dark); }
.pf-office-copy p{ font-size:13px; line-height:1.7; color:#58636a; margin-bottom:15px; }
.pf-office-more{ display:none; }
.pf-office-more--open{ display:block; }
.pf-office-toggle{
  background:none; border:none; padding:0; cursor:pointer;
  font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700;
  color:var(--gold-dark); font-family:'Inter', Arial, sans-serif;
}
.pf-office-toggle:hover{ color:var(--black); }
.pf-office-art{
  position:relative; min-height:400px; overflow:hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,1), rgba(255,255,255,.1) 35%),
    linear-gradient(110deg, #e8e2d5, #b9b7ae 52%, #6c7374);
}
.pf-office-art::before{
  content:""; position:absolute; right:-4%; top:-10%; width:62%; height:125%;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.55) 0 2px, transparent 2px 72px);
  transform:skewY(-7deg); opacity:.75;
}
.pf-office-art::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(145deg, transparent 35%, rgba(255,255,255,.55) 36%, transparent 39%);
  opacity:.65;
}
.pf-thirty{
  position:absolute; z-index:3; left:10%; top:50%; transform:translateY(-50%);
  font-family:var(--serif); font-size:150px; line-height:0.8; font-weight:700;
  color:transparent; -webkit-text-stroke:1px rgba(184,147,10,.75);
  text-shadow:0 0 45px rgba(255,255,255,.7);
}
.pf-thirty span{
  font-family:'Inter', Arial, sans-serif; font-size:15px; letter-spacing:0.35em;
  color:var(--gold-dark); vertical-align:middle; -webkit-text-stroke:0;
}

/* Mais do que conhecimento jurídico — grid 34/66 assimétrico */
.pf-think2{ background:var(--white); padding:64px 0 76px; border-top:1px solid var(--gray-line); position:relative; overflow:hidden; }
.pf-think2::after{
  content:""; position:absolute; width:360px; height:360px; border:1px solid rgba(184,147,10,.3);
  border-radius:50%; right:-200px; top:0;
}
.pf-think2-grid{ display:grid; grid-template-columns:34% 66%; gap:35px; position:relative; z-index:2; }
.pf-think2-grid > div:first-child{ padding-left:70px; }
.pf-think2-title{ font-family:var(--serif); font-weight:600; font-size:44px; line-height:1; margin:14px 0 0; }
.pf-think2-title em{ display:block; font-style:italic; color:var(--gold-dark); }
.pf-principles{ display:grid; grid-template-columns:1fr 1fr; column-gap:44px; row-gap:40px; padding-top:4px; }
.pf-principle{ padding-left:18px; border-left:1px solid rgba(50,50,50,.15); min-height:100px; }
.pf-principle--first{ grid-column:1/3; max-width:520px; }
.pf-principle-num{ color:var(--gold-dark); font-size:11px; letter-spacing:0.15em; font-weight:700; }
.pf-principle h3{ font-family:var(--serif); font-size:19px; font-weight:700; margin:9px 0 8px; color:var(--black); }
.pf-principle-mini{ width:28px; height:2px; background:var(--gold); margin-bottom:10px; }
.pf-principle p{ font-size:13px; line-height:1.6; color:#666; margin:0; max-width:300px; }

/* Áreas de Atuação v2 (fundo creme, sem caixa) */
.pf-areas-grid--v2{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:0; border-top:1px solid var(--gray-line);
}
.pf-area-card--v2{
  background:transparent; padding:32px 24px; border-right:1px solid var(--gray-line); border-bottom:1px solid var(--gray-line);
}
.pf-area-card--v2 .pf-area-sub{ color:#8B7355; }

/* Publicações v2 (fundo branco, 3 colunas) */
.pf-news-v2{ background:var(--white); padding:90px 0; border-top:1px solid var(--gray-line); }
.pf-news-v2 .pf-section-label{ color:var(--gold-dark); }
.pf-news-v2 h2.pf-section-title{ color:var(--black); }
.pf-news-v2 .pf-news-head{ align-items:flex-start; margin-bottom:50px; }
.pf-news-v2 .pf-news-head a{ color:var(--gold-dark); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; }
.pf-news-grid--v2{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); column-gap:44px; }
.pf-news-item--v2{ border-top:1px solid var(--gray-line); padding:26px 0; }
.pf-news-item--v2 .pf-news-cat{ font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; margin-bottom:14px; }
.pf-news-item--v2 h4{ font-family:var(--serif); font-size:18px; font-weight:700; line-height:1.35; margin:0 0 12px; }
.pf-news-item--v2 h4 a{ color:var(--black); text-decoration:none; }
.pf-news-item--v2 h4 a:hover{ color:var(--gold-dark); }
.pf-news-item--v2 p{ font-size:13px; color:#666; line-height:1.6; margin:0 0 14px; }
.pf-news-item--v2 a.pf-read{ font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; text-decoration:none; }

/* Conteúdo v3 (grid 23/77, com miniaturas nos posts) */
.pf-content2{ background:#F7F6F2; padding:58px 0 62px; }
.pf-content2-grid{ display:grid; grid-template-columns:23% 77%; gap:40px; align-items:start; }
.pf-content2-side .pf-section-label{ color:var(--gold-dark); }
.pf-content2-title{ font-family:var(--serif); font-weight:600; font-size:30px; line-height:1.1; margin:14px 0 18px; }
.pf-content2-title em{ font-style:italic; color:var(--gold-dark); }
.pf-content2-btn{ font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; text-decoration:none; }
.pf-content2-btn:hover{ color:var(--black); }
.pf-posts-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px 20px; }
.pf-posts-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pf-posts-row + .pf-posts-row{ margin-top:20px; }
.pf-post-card{ background:#fff; }
.pf-post-card--noimg{ background:#fff; border-top:1px solid var(--gray-line); padding-top:18px; }
.pf-post-card--noimg .pf-post-body{ padding:0 16px 20px; }
.pf-post-img{ height:150px; position:relative; overflow:hidden; border-radius:0 !important; }
.pf-post-img img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:0 !important; }
.pf-post-body{ padding:16px 16px 20px; }
.pf-post-cat{ font-size:10px; letter-spacing:0.14em; color:var(--gold-dark); font-weight:700; }
.pf-post-card h3{ font-family:var(--serif); font-size:16px; line-height:1.3; margin:9px 0 14px; font-weight:700; }
.pf-post-card h3 a{ color:var(--black); text-decoration:none; }
.pf-post-card h3 a:hover{ color:var(--gold-dark); }
.pf-post-link{ font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; text-decoration:none; }


/* Rodapé v2 */
.pf-footer-v2{ background:var(--charcoal); color:#D6D6D6; font-size:13px; padding:36px 0 0; }
.pf-footer-v2-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:50px; padding-bottom:40px; }
.pf-footer-v2-grid .pf-logo{ color:var(--white); }
.pf-footer-v2-grid .pf-logo small{ color:var(--gold); }
.pf-footer-desc{ font-size:12.5px; margin-top:16px; line-height:1.7; max-width:300px; color:#D6D6D6; }
.pf-footer-col-title{ font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:16px; }
.pf-footer-address{ display:flex; gap:10px; font-size:12.5px; line-height:1.7; margin-bottom:4px; color:#D6D6D6; }
.pf-footer-address a{ color:#D6D6D6; text-decoration:none; }
.pf-footer-address a:hover{ color:var(--gold); }
.pf-footer-address .pf-icon{ flex-shrink:0; opacity:0.8; }
.pf-footer-social-icons{ display:flex !important; flex-direction:row !important; gap:8px !important; }
.pf-footer-social-icons a{
  display:flex !important; margin-bottom:0 !important;
  width:24px; height:24px; border:1px solid var(--gold-dark); border-radius:2px;
  align-items:center; justify-content:center; font-size:10px; color:var(--gold-dark);
  text-decoration:none; transition:background 0.2s, color 0.2s;
}
.pf-footer-social-icons a:hover{ background:var(--gold-dark); color:var(--white); }
.pf-footer-v2-bottom{
  border-top:1px solid rgba(255,255,255,0.1); padding:24px 0; font-size:11px; color:#A8A8A8;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px;
}
.pf-footer-v2-bottom-links{ display:flex; gap:8px; align-items:center; }
.pf-footer-v2-bottom-links a{ color:#A8A8A8; text-decoration:none; }
.pf-footer-v2-bottom-links a:hover{ color:var(--gold); }
.pf-footer-v2-bottom-links span{ color:#666; }

/* Responsivo v2 */
@media(max-width:900px){
  .pf-hero-v3{ min-height:0; }
  .pf-hero-v3-edge, .pf-hero-v3-panel{ clip-path:none; background:rgba(23,25,28,0.82); }
  .pf-hero-v3-edge{ display:none; }
  .pf-hero-v3-ring{ display:none; }
  .pf-hero-v3-content{ padding-top:140px; padding-bottom:40px; }
  .pf-hero-v3-inner{ max-width:100%; }
  .pf-hero-news-strip-page{ flex-direction:column; gap:20px; }
  .pf-hero-news-strip-item{ padding:0; max-width:100%; }
  .pf-hero-news-strip-item + .pf-hero-news-strip-item{ border-left:none; border-top:1px solid var(--gray-line); padding-top:20px; }
  .pf-office-grid{ grid-template-columns:1fr; }
  .pf-office-copy{ padding-right:0; margin-bottom:25px; }
  .pf-office-title{ font-size:28px; }
  .pf-think2-title{ font-size:26px; }
  .pf-think2-grid > div:first-child{ padding-left:0; }
  .pf-office-art{ min-height:260px; }
  .pf-thirty{ font-size:90px; left:8%; }
  .pf-think2-grid{ grid-template-columns:1fr; gap:24px; }
  .pf-principles{ grid-template-columns:1fr; gap:24px; }
  .pf-principle--first{ grid-column:auto; max-width:100%; }
  .pf-content2-grid{ grid-template-columns:1fr; gap:20px; }
  .pf-posts-grid{ grid-template-columns:1fr; }
  .pf-posts-row{ grid-template-columns:1fr; }
  .pf-pub-layout{ grid-template-columns:1fr; gap:40px; }
  .pf-pub-grid{ grid-template-columns:1fr; }
  .pf-footer-v2-grid{ grid-template-columns:1fr; gap:30px; }
}

/* Landing page única — rolagem suave entre âncoras */
html{ scroll-behavior:smooth; }
section[id]{ scroll-margin-top:90px; }

/* ---------- BLOG NATIVO (home.php / single.php) ---------- */
.pf-pagination{ display:flex; justify-content:space-between; margin-top:50px; padding-top:24px; border-top:1px solid var(--gray-line); flex-wrap:wrap; gap:14px; }
.pf-pagination a{ font-size:12.5px; color:var(--black); text-decoration:none; font-weight:600; border-bottom:1px solid var(--gold); padding-bottom:2px; }
.pf-pagination a:hover{ color:var(--gold-dark); }

.pf-post-content{ font-size:14.5px; color:#444; line-height:1.85; }
.pf-post-content p{ margin:0 0 20px; }
.pf-post-content h2{ font-family:var(--serif); font-size:24px; font-weight:700; margin:36px 0 14px; color:var(--black); }
.pf-post-content h3{ font-family:var(--serif); font-size:19px; font-weight:700; margin:28px 0 12px; color:var(--black); }
.pf-post-content a{ color:var(--gold-dark); }
.pf-post-content ul, .pf-post-content ol{ margin:0 0 20px; padding-left:22px; }
.pf-post-content li{ margin-bottom:8px; }
.pf-post-content blockquote{ border-left:3px solid var(--gold); padding-left:18px; margin:24px 0; font-style:italic; color:#555; }
.pf-post-content img{ margin:24px 0; }

.pf-back-link{ font-size:13px; color:var(--black); text-decoration:none; font-weight:600; border-bottom:1px solid var(--gold); padding-bottom:2px; }
.pf-back-link:hover{ color:var(--gold-dark); }

/* Logo em imagem (quando definido no Personalizador) */
/* !important aqui é proposital: sobrescreve estilos globais que o
   Elementor injeta em todas as imagens do site (cantos arredondados,
   recorte automático), que conflitavam com o nosso logo. */
.pf-logo-img{
  max-height:40px !important;
  width:auto !important;
  height:auto !important;
  display:block !important;
  border-radius:0 !important;
  object-fit:contain !important;
  object-position:left center !important;
  clip-path:none !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  padding:0 !important;
}
.pf-header, .pf-header-row, .pf-logo{
  overflow:visible !important;
}
.pf-header-row{ min-height:80px; }
.pf-footer-v2-grid .pf-logo-img{ max-height:40px !important; }

/* Corrige sobreposição com a barra preta de administração do WordPress
   (aparece só para usuários logados, nunca para visitantes do site) */
body.admin-bar .pf-header--overlay{ top:32px; }
@media(max-width:782px){
  body.admin-bar .pf-header--overlay{ top:46px; }
}

/* ---------- LANDING PAGES (calculadoras) ---------- */
  .pf-lp-nav-visit{
    color:var(--gold); text-decoration:none; font-size:12px; font-weight:600; letter-spacing:0.03em;
    border:1px solid var(--gold); padding:9px 16px; text-transform:uppercase; white-space:nowrap;
  }
  .pf-lp-nav-visit:hover{ background:var(--gold); color:var(--black); }

  .pf-lp-hero{ background:var(--charcoal); padding:56px 0 46px; text-align:center; }
  .pf-lp-hero .pf-section-label{ text-align:center; }
  .pf-lp-hero h1{ font-family:var(--serif); font-weight:600; font-size:32px; color:#fff; max-width:680px; margin:0 auto 16px; line-height:1.25; }
  .pf-lp-hero p{ color:#D8D8D8; font-size:14.5px; max-width:520px; margin:0 auto 26px; line-height:1.6; }
  .pf-lp-hero a.pf-lp-cta{ display:inline-block; background:var(--gold); color:var(--black); text-decoration:none; padding:14px 30px; font-size:12.5px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; }

  .pf-lp-section{ padding:60px 0; }
  .pf-lp-section .pf-section-label{ text-align:center; }
  .pf-lp-title{ font-family:var(--serif); font-weight:600; font-size:26px; text-align:center; margin-bottom:8px; }
  .pf-lp-sub{ text-align:center; color:#666; font-size:13.5px; max-width:560px; margin:0 auto 40px; line-height:1.6; }

  .pf-lp-calc-card{ background:#FAFAF8; border:1px solid var(--gray-line); padding:40px; max-width:760px; margin:0 auto; box-sizing:border-box; }

  .pf-lp-calc-block + .pf-lp-calc-block{ margin-top:36px; padding-top:32px; border-top:1px solid var(--gray-line); }
  .pf-lp-calc-block-head{ display:flex; align-items:baseline; gap:10px; margin-bottom:22px; }
  .pf-lp-calc-block-num{ font-family:var(--serif); font-size:15px; font-weight:700; color:var(--gold-dark); }
  .pf-lp-calc-block-title{ font-family:var(--serif); font-size:17px; font-weight:700; color:var(--black); }

  .pf-lp-calc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .pf-lp-field{ margin-bottom:16px; }
  .pf-lp-field label{ display:block; font-size:12px; font-weight:600; margin-bottom:6px; color:#444; }
  .pf-lp-field input, .pf-lp-field select{ width:100%; padding:11px 12px; border:1px solid var(--gray-line); background:#fff; font-size:13.5px; font-family:inherit; box-sizing:border-box; }
  .pf-lp-field-full{ grid-column:1 / -1; }
  .pf-lp-hint{ font-size:11px; color:#888; margin-top:5px; line-height:1.5; font-weight:400; }

  .pf-lp-radio-row{ display:flex; gap:20px; flex-wrap:wrap; }
  .pf-lp-radio-opt{ display:flex; align-items:center; gap:7px; font-size:13px; cursor:pointer; }
  .pf-lp-radio-opt input{ accent-color:var(--gold-dark); width:15px; height:15px; }
  .pf-lp-small{ color:#888; font-size:11.5px; }

  .pf-lp-btn-row{ display:flex; gap:12px; margin-top:36px; }
  .pf-lp-btn-calc{ flex:1; background:var(--charcoal); color:#fff; border:none; padding:15px; font-size:13px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; cursor:pointer; }
  .pf-lp-btn-calc:hover{ background:var(--black); }
  .pf-lp-btn-clear{ background:#fff; color:#666; border:1px solid var(--gray-line); padding:15px 24px; font-size:13px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; cursor:pointer; }

  .pf-lp-result{ margin-top:30px; border-top:2px solid var(--gold); padding-top:22px; display:none; }
  .pf-lp-result.show{ display:block; }
  .pf-lp-result-row{ display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--gray-line); font-size:13px; }
  .pf-lp-result-row.pf-lp-neg span:last-child{ color:#b23b3b; }
  .pf-lp-result-row.total{ font-weight:700; font-size:17px; border-bottom:none; padding-top:16px; }
  .pf-lp-result-note{ font-size:11px; color:#888; margin-top:16px; line-height:1.6; }

  .pf-lp-faq{ border-top:1px solid var(--gray-line); padding:20px 24px; max-width:760px; margin:0 auto; box-sizing:border-box; }
  .pf-lp-faq h3{ font-family:var(--serif); font-size:16px; font-weight:700; margin-bottom:8px; }
  .pf-lp-faq p{ font-size:13.5px; color:#555; line-height:1.7; }

  .pf-lp-news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:960px; margin:0 auto; }
  .pf-lp-news-card .cat{ font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; margin-bottom:8px; }
  .pf-lp-news-card h3{ font-family:var(--serif); font-size:15px; font-weight:700; line-height:1.35; margin:0 0 8px; }
  .pf-lp-news-card h3 a{ color:var(--black); text-decoration:none; }
  .pf-lp-news-card h3 a:hover{ color:var(--gold-dark); }
  .pf-lp-news-card .date{ font-size:11.5px; color:#888; }

  .pf-lp-lead{ background:var(--charcoal); }
  .pf-lp-lead .pf-lp-title, .pf-lp-lead .pf-section-label{ color:#fff; }
  .pf-lp-lead .pf-lp-sub{ color:#D8D8D8; }

  .pf-lp-visit-banner{ background:#F6F5F1; border-top:1px solid var(--gray-line); border-bottom:1px solid var(--gray-line); padding:34px 0; text-align:center; }
  .pf-lp-visit-banner p{ font-size:13.5px; color:#555; margin-bottom:14px; }
  .pf-lp-visit-banner a{ display:inline-block; background:var(--charcoal); color:#fff; text-decoration:none; padding:13px 28px; font-size:12px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; }
  .pf-lp-visit-banner a:hover{ background:var(--black); }

  .pf-lp-disclaimer{ text-align:center; font-size:11px; color:#999; padding:24px; }

  @media(max-width:640px){
    .pf-lp-calc-grid{ grid-template-columns:1fr; }
    .pf-lp-calc-card{ padding:26px; }
    .pf-lp-news-grid{ grid-template-columns:1fr; }
    .pf-lp-hero h1{ font-size:24px; }
  }

/* ---------- Hub de calculadoras (página de Conteúdo) ---------- */
.pf-tools-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:36px; }
.pf-tool-card{
  display:block; background:#fff; border:1px solid var(--gray-line); padding:26px 24px;
  text-decoration:none; transition:border-color 0.2s, transform 0.2s;
}
.pf-tool-card:hover{ border-color:var(--gold-dark); transform:translateY(-2px); }
.pf-tool-card-area{ font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-dark); font-weight:700; margin-bottom:10px; }
.pf-tool-card-title{ font-family:var(--serif); font-size:17px; font-weight:700; color:var(--black); margin-bottom:14px; line-height:1.3; }
.pf-tool-card-cta{ font-size:12px; font-weight:700; letter-spacing:0.04em; color:var(--charcoal); text-transform:uppercase; }
@media(max-width:900px){
  .pf-tools-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:600px){
  .pf-tools-grid{ grid-template-columns:1fr; }
}
