:root{
    --petroleo:#001118;
    --grafite:#012940;
    --marrom:#A57350;
    --pessego:#E8B695;
    --cream:#F6F1E9;
    --cream-2:#EFE7DA;
    --ivory:#FBF8F3;
    --ink:#0A1418;
    --line-dark: rgba(232,182,149,0.22);
    --line-light: rgba(1,41,64,0.14);
    --serif: 'Playfair Display', serif;
    --eyebrow: 'Cormorant Garamond', serif;
    --sans: 'Jost', sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family: var(--sans);
    background: var(--ivory);
    color: var(--petroleo);
    -webkit-font-smoothing: antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .container{
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 32px;
  }
  .eyebrow{
    font-family: var(--eyebrow);
    text-transform: uppercase;
    letter-spacing: 0.32em;
    font-size: 13px;
    font-weight: 500;
  }
  h1,h2,h3{ font-family: var(--serif); font-weight: 600; line-height:1.12; letter-spacing:0.003em;}
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding: 15px 32px;
    font-family: var(--sans);
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border: 1px solid currentColor;
    transition: all .35s ease;
    cursor:pointer;
    white-space:nowrap;
  }
  .btn-fill{
    background: var(--marrom);
    border-color: var(--marrom);
    color: var(--ivory);
  }
  .btn-fill:hover{ background: var(--pessego); border-color: var(--pessego); color: var(--petroleo); }
  .btn-line{
    color: var(--cream);
    border-color: rgba(246,241,233,0.4);
  }
  .btn-line:hover{ border-color: var(--pessego); color: var(--pessego); }
  .btn-line.dark{ color: var(--petroleo); border-color: rgba(1,17,24,0.35); }
  .btn-line.dark:hover{ border-color: var(--marrom); color: var(--marrom); }

  /* ---------- HEADER ---------- */
  header{
    position: fixed;
    top:0; left:0; right:0;
    z-index: 100;
    padding: 26px 0;
    transition: all .4s ease;
    background: transparent;
  }
  header.scrolled{
    background: rgba(0,17,24,0.92);
    backdrop-filter: blur(10px);
    padding: 16px 0;
    box-shadow: 0 1px 0 var(--line-dark);
  }
  header .container{ display:flex; align-items:center; justify-content:space-between; }
  .logo-wrap img{ height: 40px; width:auto; transition: height .4s ease; }
  header.scrolled .logo-wrap img{ height: 32px; }
  nav.main-nav{ display:flex; align-items:center; gap:44px; }
  nav.main-nav a{
    font-size: 12.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--cream);
    position:relative;
    padding-bottom:4px;
  }
  nav.main-nav a::after{
    content:'';
    position:absolute; left:0; right:100%; bottom:0;
    height:1px; background: var(--pessego);
    transition: right .3s ease;
  }
  nav.main-nav a:hover::after{ right:0; }
  .nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; z-index:110; }
  .nav-toggle span{ width:26px; height:1px; background: var(--cream); display:block; }

  /* ---------- HERO ---------- */
  .hero{
    position: relative;
    min-height: 100vh;
    background: var(--petroleo);
    color: var(--cream);
    display:flex;
    align-items:center;
    padding-top: 120px;
    overflow:hidden;
  }
  .hero-crest{
    position:absolute;
    right:-6%;
    top:50%;
    transform:translateY(-50%);
    width:640px;
    max-width:70vw;
    opacity:0.05;
    pointer-events:none;
  }
  .hero .container{
    display:grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items:center;
    gap: 60px;
    position:relative;
    z-index:2;
  }
  .hero-copy .eyebrow{ color: var(--pessego); margin-bottom:26px; display:block; }
  .hero-copy h1{
    font-size: clamp(40px, 5vw, 64px);
    max-width: 620px;
  }
  .hero-copy h1 em{ font-style:italic; color: var(--pessego); font-weight:500; }
  .hero-copy .lede{
    margin-top: 26px;
    font-size: 17px;
    line-height:1.75;
    max-width: 480px;
    color: rgba(246,241,233,0.78);
    font-weight:300;
  }
  .hero-actions{ margin-top:42px; display:flex; gap:18px; flex-wrap:wrap; }
  .hero-figure{
    position:relative;
    align-self:end;
    height: 78vh;
    max-height: 720px;
  }
  .hero-figure .frame{
    position:absolute;
    inset:0;
    border: 1px solid var(--line-dark);
    transform: translate(18px,-18px);
    z-index:1;
  }
  .hero-figure img{
    position:relative;
    z-index:2;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position: top center;
    filter: grayscale(14%) contrast(1.04);
  }
  .hero-figure::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height:45%;
    background: linear-gradient(to top, var(--petroleo) 0%, rgba(0,17,24,0) 100%);
    z-index:3;
  }
  .scroll-cue{
    position:absolute;
    bottom: 40px;
    left:32px;
    display:flex;
    align-items:center;
    gap:14px;
    color: rgba(246,241,233,0.55);
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    z-index:4;
  }
  .scroll-cue .line{ width:44px; height:1px; background: rgba(246,241,233,0.4); position:relative; overflow:hidden;}
  .scroll-cue .line::after{
    content:'';
    position:absolute; left:-100%; top:0; bottom:0; width:100%;
    background: var(--pessego);
    animation: cue 2.6s ease-in-out infinite;
  }
  @keyframes cue{ 0%{left:-100%;} 50%{left:0;} 100%{left:100%;} }

  /* ---------- PILARES ---------- */
  .pilares{
    background: var(--cream);
    padding: 110px 0;
    border-bottom: 1px solid var(--line-light);
  }
  .pilares-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:40px;
    margin-bottom: 70px;
    flex-wrap:wrap;
  }
  .pilares-head .eyebrow{ color: var(--marrom); margin-bottom:16px; display:block; }
  .pilares-head h2{ font-size: clamp(28px,3.4vw,40px); max-width:520px; }
  .pilares-head p{ max-width:340px; font-size:15px; line-height:1.75; color:#42403c; font-weight:300; }
  .pilares-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--line-light);
  }
  .pilar{
    padding: 46px 34px 10px 0;
    border-right: 1px solid var(--line-light);
  }
  .pilar:last-child{ border-right:none; }
  .pilar-mark{
    font-family: var(--eyebrow);
    font-style:italic;
    font-size: 46px;
    color: var(--marrom);
    line-height:1;
    margin-bottom:22px;
    display:block;
  }
  .pilar h3{ font-size: 21px; margin-bottom:14px; font-weight:600; }
  .pilar p{ font-size:14.5px; line-height:1.8; color:#4a4844; font-weight:300; max-width:280px; }

  /* ---------- SOBRE ---------- */
  .sobre{
    background: var(--grafite);
    color: var(--cream);
    padding: 130px 0;
    position:relative;
    overflow:hidden;
  }
  .sobre .container{
    display:grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap:70px;
    align-items:center;
  }
  .sobre-imgs{ position:relative; }
  .sobre-imgs img{ width:100%; object-fit:cover; }
  .sobre-imgs .img-a{ width:78%; position:relative; z-index:2; }
  .sobre-imgs .img-b{
    width:52%;
    position:absolute;
    right:-6%;
    bottom:-12%;
    z-index:3;
    border: 6px solid var(--grafite);
    box-shadow: 0 20px 50px rgba(0,0,0,0.4);
  }
  .sobre-copy .eyebrow{ color: var(--pessego); display:block; margin-bottom:22px; }
  .sobre-copy h2{ font-size: clamp(30px,3.6vw,42px); margin-bottom:28px; max-width:520px; }
  .sobre-copy p{ font-size:15.5px; line-height:1.9; color: rgba(246,241,233,0.75); font-weight:300; margin-bottom:18px; max-width:520px; }
  .sobre-sign{
    margin-top:36px;
    padding-top:28px;
    border-top:1px solid var(--line-dark);
    display:flex;
    align-items:center;
    gap:18px;
  }
  .sobre-sign img{ height:34px; width:auto; }
  .sobre-sign span{ font-family: var(--eyebrow); font-style:italic; font-size:15px; color: rgba(246,241,233,0.6); }

  /* ---------- AREAS ---------- */
  .areas{
    background: var(--ivory);
    padding: 130px 0;
  }
  .areas-head{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:40px;
    margin-bottom: 74px;
    align-items:end;
  }
  .areas-head .eyebrow{ color:var(--marrom); display:block; margin-bottom:16px; }
  .areas-head h2{ font-size: clamp(28px,3.4vw,40px); }
  .areas-head p{ font-size:15px; line-height:1.8; color:#4a4844; font-weight:300; }
  .areas-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--line-light);
    border: 1px solid var(--line-light);
  }
  .area-card{
    background: var(--ivory);
    padding: 44px 40px;
    transition: background .4s ease;
    position:relative;
  }
  .area-card:hover{ background: var(--cream); }
  .area-num{
    font-family: var(--eyebrow);
    font-size:13px;
    letter-spacing:0.2em;
    color: var(--marrom);
    text-transform:uppercase;
  }
  .area-card h3{
    font-size: 25px;
    margin: 18px 0 16px;
    font-weight:600;
  }
  .area-card p{ font-size:14.5px; line-height:1.85; color:#4a4844; font-weight:300; max-width:380px; }

  /* ---------- AREAS (interativa) ---------- */
  .areas-x{ background: var(--petroleo); color: var(--ivory); padding: 120px 0 110px; position:relative; }
  .ax-top{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:56px; flex-wrap:wrap; }
  .ax-top h2{ font-family: var(--eyebrow); font-weight:400; font-size: clamp(2.6rem,5.4vw,4.2rem); line-height:1; max-width:720px; letter-spacing:-.01em; }
  .ax-top h2 span{ display:block; font-style:italic; color: var(--pessego); }
  .ax-top p{ color: rgba(251,248,243,.55); font-size:15px; font-weight:300; max-width:300px; line-height:1.7; }
  .ax-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:stretch; }
  .ax-lista{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.08); }
  .ax-lista button{ all:unset; box-sizing:border-box; width:100%; display:flex; align-items:baseline; gap:22px; padding:24px 22px; border-bottom:1px solid rgba(255,255,255,.08); border-left:2px solid transparent; cursor:pointer; transition: background .25s, border-color .25s; }
  .ax-lista button:focus-visible{ outline:2px solid var(--pessego); outline-offset:-2px; }
  .ax-lista .n{ font-family: var(--sans); font-weight:600; font-size:.75rem; color: var(--marrom); width:20px; }
  .ax-lista .nome{ font-family: var(--eyebrow); font-weight:500; font-size: clamp(1.9rem,3.2vw,2.6rem); line-height:1; color: rgba(255,255,255,.42); transition: color .25s; }
  .ax-lista button[aria-selected="true"]{ background: rgba(1,41,64,.55); border-left-color: var(--pessego); }
  .ax-lista button:hover .nome{ color:#fff; }
  .ax-lista button[aria-selected="true"] .nome{ font-style:italic; color: var(--pessego); }
  .ax-painel{ position:relative; overflow:hidden; background: linear-gradient(160deg, var(--grafite), #00202f 60%, var(--petroleo)); border:1px solid rgba(232,182,149,.14); padding:44px 42px; min-height:440px; display:flex; flex-direction:column; }
  .ax-painel::before{ content:""; position:absolute; top:0; right:0; width:45%; height:1px; background: linear-gradient(90deg, transparent, var(--pessego)); }
  .ax-painel .marca-d{ position:absolute; right:-18px; bottom:-60px; font-family: var(--eyebrow); font-style:italic; font-weight:500; font-size:18rem; line-height:1; color: rgba(232,182,149,.05); pointer-events:none; user-select:none; }
  .ax-painel small{ font-size:.8rem; color: var(--pessego); letter-spacing:.04em; }
  .ax-painel h3{ font-family: var(--eyebrow); font-weight:500; font-size: clamp(2.4rem,4vw,3.2rem); line-height:1; margin:14px 0 18px; }
  .ax-painel p{ color: rgba(255,255,255,.7); max-width:44ch; font-size:15.5px; line-height:1.7; font-weight:300; }
  .ax-painel .tags{ display:flex; flex-wrap:wrap; gap:8px; margin:auto 0 26px; padding-top:30px; position:relative; }
  .ax-painel .tags span{ border:1px solid rgba(232,182,149,.3); border-radius:999px; padding:7px 14px; font-size:.76rem; font-weight:500; color: var(--pessego); }
  .ax-painel .btn{ align-self:flex-start; position:relative; }
  .ax-painel .conteudo{ display:flex; flex-direction:column; flex:1; position:relative; animation: axEntra .35s ease; }
  @keyframes axEntra{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
  .ax-rodape{ margin-top:40px; display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
  .ax-rodape .btn-line{ color: var(--pessego); border-color: rgba(232,182,149,.45); white-space:normal; }
  .ax-rodape span{ color: rgba(255,255,255,.45); font-size:.85rem; }
  @media (max-width:900px){
    .areas-x{ padding:90px 0 80px; }
    .ax-grid{ grid-template-columns:1fr; gap:28px; }
    .ax-painel{ min-height:0; padding:34px 28px; }
    .ax-painel .marca-d{ font-size:12rem; }
  }
  @media (prefers-reduced-motion: reduce){ .ax-painel .conteudo{ animation:none; } }

  /* ---------- CONTATO ---------- */
  .contato{
    background: var(--petroleo);
    color: var(--cream);
    position:relative;
    overflow:hidden;
  }
  .contato .container{
    display:grid;
    grid-template-columns: 1fr 1fr;
    min-height: 640px;
  }
  .contato-copy{
    padding: 110px 60px 110px 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .contato-copy .eyebrow{ color:var(--pessego); display:block; margin-bottom:22px; }
  .contato-copy h2{ font-size: clamp(30px,3.8vw,46px); margin-bottom:24px; max-width:460px; }
  .contato-copy p{ font-size:15.5px; line-height:1.85; color:rgba(246,241,233,0.72); font-weight:300; max-width:440px; margin-bottom:38px; }
  .contato-list{ display:flex; flex-direction:column; gap:22px; margin-bottom:40px; }
  .contato-item{ display:flex; align-items:center; gap:18px; }
  .contato-item .ic{
    width:40px; height:40px;
    border:1px solid var(--line-dark);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .contato-item .ic svg{ width:16px; height:16px; stroke: var(--pessego); }
  .contato-item .txt-label{ font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(246,241,233,0.5); margin-bottom:3px; }
  .contato-item .txt-val{ font-size:16px; font-weight:400; }
  .contato-img{ position:relative; }
  .contato-img img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position: top center;
    filter: grayscale(20%) brightness(0.9);
  }
  .contato-img::before{
    content:'';
    position:absolute; inset:0;
    background: linear-gradient(to right, var(--petroleo) 0%, rgba(0,17,24,0) 18%);
    z-index:1;
  }

  /* ---------- FOOTER ---------- */
  footer{
    background: var(--ink);
    color: rgba(246,241,233,0.55);
    padding: 54px 0 34px;
  }
  footer .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:24px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(246,241,233,0.1);
  }
  footer .logo-wrap img{ height:30px; }
  footer nav{ display:flex; gap:32px; flex-wrap:wrap; }
  footer nav a{ font-size:12px; letter-spacing:0.1em; text-transform:uppercase; }
  footer nav a:hover{ color: var(--pessego); }
  .footer-bottom{
    max-width:1220px; margin:24px auto 0; padding:0 32px;
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
    font-size:12px;
  }
  .footer-bottom a:hover{ color: var(--pessego); }

  /* ---------- reveal ---------- */
  .reveal{ opacity:0; transform: translateY(26px); transition: opacity .9s ease, transform .9s ease; }
  .reveal.in{ opacity:1; transform:none; }

  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none; transition:none; }
    .scroll-cue .line::after{ animation:none; }
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 980px){
    .hero .container{ grid-template-columns:1fr; }
    .hero-figure{ height:52vh; order:-1; }
    .hero-copy .lede{ max-width:100%; }
    .pilares-grid{ grid-template-columns:1fr; }
    .pilar{ border-right:none; border-bottom:1px solid var(--line-light); padding:34px 0; }
    .sobre .container{ grid-template-columns:1fr; }
    .sobre-imgs{ max-width:420px; margin:0 auto 40px; }
    .areas-head{ grid-template-columns:1fr; }
    .areas-grid{ grid-template-columns:1fr; }
    .contato .container{ grid-template-columns:1fr; min-height:auto; }
    .contato-copy{ padding: 90px 0 50px; order:2; }
    .contato-img{ height:340px; order:1; }
  }
  @media (max-width: 720px){
    nav.main-nav{
      position:fixed; inset:0; background: var(--petroleo);
      flex-direction:column; justify-content:center; gap:34px;
      transform: translateX(100%); transition: transform .45s ease;
    }
    nav.main-nav.open{ transform:translateX(0); }
    nav.main-nav a{ font-size:16px; }
    .nav-toggle{ display:flex; }
    .container{ padding:0 22px; }
    footer .container{ flex-direction:column; align-items:flex-start; }
  }

/* ================= NOTÍCIAS JURÍDICAS ================= */
.news-hero{
  background: var(--petroleo);
  color: var(--cream);
  padding: 150px 0 90px;
  position:relative;
  overflow:hidden;
}
.news-hero .hero-crest{
  position:absolute; right:-8%; top:50%; transform:translateY(-50%);
  width:480px; max-width:60vw; opacity:0.05; pointer-events:none;
}
.news-hero .eyebrow{ color:var(--pessego); display:block; margin-bottom:20px; }
.news-hero h1{ font-size: clamp(32px,4.2vw,50px); max-width:640px; position:relative; z-index:2; }
.news-hero p{ margin-top:18px; font-size:15.5px; line-height:1.8; color:rgba(246,241,233,0.72); font-weight:300; max-width:520px; position:relative; z-index:2; }

.news-list{
  background: var(--ivory);
  padding: 90px 0 130px;
}
.news-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 20px;
}
.news-card{
  background: var(--cream);
  border: 1px solid var(--line-light);
  display:flex;
  flex-direction:column;
  transition: transform .4s ease, box-shadow .4s ease;
}
.news-card:hover{ transform: translateY(-6px); box-shadow: 0 24px 50px rgba(0,17,24,0.12); }
.news-card .thumb{ aspect-ratio: 4/3; overflow:hidden; }
.news-card .thumb img{ width:100%; height:100%; object-fit:cover; filter: grayscale(12%) contrast(1.02); transition: transform .6s ease; }
.news-card:hover .thumb img{ transform: scale(1.06); }
.news-card .body{ padding: 28px 26px 30px; display:flex; flex-direction:column; flex:1; }
.news-card .news-date{
  font-family: var(--eyebrow);
  font-style: italic;
  font-size: 14px;
  color: var(--marrom);
  margin-bottom: 12px;
}
.news-card h3{ font-size:21px; line-height:1.3; margin-bottom:12px; }
.news-card p{ font-size:14px; line-height:1.75; color:#4a4844; font-weight:300; flex:1; margin-bottom:18px; }
.news-card .read-more{
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  color: var(--petroleo); display:inline-flex; align-items:center; gap:8px;
}
.news-card .read-more svg{ width:14px; height:14px; stroke:currentColor; transition: transform .3s ease; }
.news-card:hover .read-more svg{ transform: translateX(4px); }

/* ---------- Post individual ---------- */
.post-hero{
  background: var(--grafite);
  color: var(--cream);
  padding: 150px 0 70px;
  position:relative;
}
.post-hero .container{ max-width: 860px; }
.post-hero .back-link{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
  color: rgba(246,241,233,0.6); margin-bottom:34px;
}
.post-hero .back-link:hover{ color: var(--pessego); }
.post-hero .back-link svg{ width:14px; height:14px; stroke:currentColor; }
.post-hero .news-date{ font-family: var(--eyebrow); font-style:italic; color:var(--pessego); font-size:16px; display:block; margin-bottom:18px; }
.post-hero h1{ font-size: clamp(30px,4.4vw,48px); }

.post-cover{
  max-width: 860px;
  margin: -46px auto 0;
  padding: 0 32px;
  position:relative;
  z-index:3;
}
.post-cover img{ width:100%; aspect-ratio:16/8; object-fit:cover; filter:grayscale(10%); }

.post-body{
  background: var(--ivory);
  padding: 70px 0 130px;
}
.post-content{
  max-width: 720px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.95;
  color: #2c2a27;
  font-weight: 300;
}
.post-content h2{
  font-size: 27px;
  margin: 46px 0 18px;
  color: var(--petroleo);
}
.post-content h3{
  font-size: 21px;
  margin: 34px 0 14px;
  color: var(--petroleo);
}
.post-content p{ margin-bottom: 22px; }
.post-content ul, .post-content ol{ margin: 0 0 22px 22px; }
.post-content li{ margin-bottom: 10px; }
.post-content strong{ color: var(--petroleo); font-weight:500; }
.post-content blockquote{
  border-left: 2px solid var(--marrom);
  padding-left: 24px;
  margin: 32px 0;
  font-family: var(--eyebrow);
  font-style: italic;
  font-size: 20px;
  color: var(--grafite);
}
.post-footer-cta{
  max-width: 720px;
  margin: 60px auto 0;
  padding-top: 40px;
  border-top: 1px solid var(--line-light);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:24px;
}
.post-footer-cta p{ font-family: var(--serif); font-size:19px; max-width:340px; }

@media (max-width: 980px){
  .news-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px){
  .news-grid{ grid-template-columns: 1fr; }
  .post-cover{ margin-top: -30px; padding: 0 22px; }
  .post-footer-cta{ flex-direction:column; align-items:flex-start; }
}

/* ================= CARROSSEL DE NOTÍCIAS (home) ================= */
.news-feed-section{
  background: var(--grafite);
  padding: 90px 0 100px;
  overflow: hidden;
  position: relative;
}
.news-feed-head{
  max-width: 1220px;
  margin: 0 auto 44px;
  padding: 0 32px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
}
.news-feed-head .eyebrow{ color: var(--pessego); display:block; margin-bottom:14px; }
.news-feed-head h2{ color: var(--cream); font-size: clamp(26px,3.2vw,36px); }
.news-feed-head a{
  font-size: 12.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pessego);
  white-space: nowrap;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(232,182,149,0.4);
}
.news-feed-viewport{
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
}
.news-feed-track{
  display: flex;
  gap: 26px;
  width: max-content;
  animation: news-feed-scroll 46s linear infinite;
}
.news-feed-viewport:hover .news-feed-track{ animation-play-state: paused; }
.news-feed-card{
  flex: 0 0 300px;
  background: var(--petroleo);
  border: 1px solid var(--line-dark);
  display: flex;
  flex-direction: column;
  transition: transform .35s ease, border-color .35s ease;
}
.news-feed-card:hover{ transform: translateY(-6px); border-color: var(--pessego); }
.news-feed-card .thumb{ aspect-ratio: 4/3; overflow: hidden; }
.news-feed-card .thumb img{ width:100%; height:100%; object-fit:cover; }
.news-feed-card .body{ padding: 22px 22px 26px; }
.news-feed-card .news-date{
  font-family: var(--eyebrow);
  font-style: italic;
  font-size: 13px;
  color: var(--pessego);
  display: block;
  margin-bottom: 10px;
}
.news-feed-card h3{
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.32;
  color: var(--cream);
  font-weight: 600;
}
@keyframes news-feed-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .news-feed-track{ animation: none; overflow-x: auto; scroll-snap-type: x mandatory; }
  .news-feed-card{ scroll-snap-align: start; }
}
@media (max-width: 720px){
  .news-feed-track{ animation: none; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; padding: 0 22px 10px; }
  .news-feed-card{ flex: 0 0 240px; scroll-snap-align: start; }
  .news-feed-viewport{ -webkit-mask-image:none; mask-image:none; }
  .news-feed-head{ padding: 0 22px; }
}

/* ================= BOTÃO FLUTUANTE WHATSAPP ================= */
.wa-float{
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 200;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #25D366;
  color: #FFFFFF;
  padding: 14px 22px 14px 16px;
  border-radius: 50px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.28);
  font-family: var(--sans);
  font-size: 14.5px;
  font-weight: 500;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
  animation: wa-pop .5s ease .6s both;
}
.wa-float:hover{ transform: translateY(-3px); box-shadow: 0 14px 34px rgba(0,0,0,0.34); }
.wa-float svg{ width: 26px; height: 26px; flex-shrink: 0; }
.wa-float .wa-pulse{
  position: absolute;
  inset: 0;
  border-radius: 50px;
  background: #25D366;
  opacity: 0.5;
  animation: wa-ring 2.2s ease-out infinite;
  z-index: -1;
}
@keyframes wa-ring{
  0%{ transform: scale(1); opacity: 0.5; }
  100%{ transform: scale(1.35); opacity: 0; }
}
@keyframes wa-pop{
  from{ transform: scale(0.4); opacity: 0; }
  to{ transform: scale(1); opacity: 1; }
}
@media (max-width: 640px){
  .wa-float{
    right: 14px;
    bottom: 14px;
    padding: 13px;
    border-radius: 50%;
  }
  .wa-float span{ display: none; }
}
@media (prefers-reduced-motion: reduce){
  .wa-float{ animation: none; }
  .wa-pulse{ animation: none; display: none; }
}

/* ================= FAQ ================= */
.faq{
  background: var(--ivory);
  padding: 110px 0;
}
.faq-head{ max-width: 620px; margin: 0 auto 60px; text-align: center; }
.faq-head .eyebrow{ color: var(--marrom); display:block; margin-bottom:16px; }
.faq-head h2{ font-size: clamp(28px,3.4vw,40px); }
.faq-list{ max-width: 780px; margin: 0 auto; border-top: 1px solid var(--line-light); }
.faq-item{ border-bottom: 1px solid var(--line-light); }
.faq-item summary{
  list-style: none;
  cursor: pointer;
  padding: 26px 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 600;
  color: var(--petroleo);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item .faq-icon{
  flex-shrink: 0;
  width: 30px; height: 30px;
  border: 1px solid var(--marrom);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.faq-item .faq-icon::before, .faq-item .faq-icon::after{
  content: '';
  position: absolute;
  background: var(--marrom);
  transition: transform .3s ease;
}
.faq-item .faq-icon::before{ width: 12px; height: 1.5px; }
.faq-item .faq-icon::after{ width: 1.5px; height: 12px; }
.faq-item[open] .faq-icon::after{ transform: rotate(90deg); opacity: 0; }
.faq-item p{
  padding: 0 40px 28px 6px;
  font-size: 15px;
  line-height: 1.85;
  color: #4a4844;
  font-weight: 300;
}
