/* Podewils Advocacia — estilos do site */
/* ---------- tokens ---------- */
  :root{
    --ink:        #0A1628;   /* deep navy / ink */
    --ink-2:      #0E1B30;
    --ink-3:      #142340;
    --gold:       #C9A84C;
    --gold-2:     #B89438;
    --gold-soft:  #E8D8A6;
    --bone:       #F5F2EC;   /* warm off-white */
    --bone-2:     #ECE6DA;
    --line:       rgba(201,168,76,.22);
    --line-dark:  rgba(255,255,255,.08);
    --muted:      #8a93a4;
    --muted-dark: rgba(245,242,236,.62);

    --f-serif: "Playfair Display", "Times New Roman", Georgia, serif;
    --f-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

    --container: 1200px;
    --pad-x: clamp(20px, 4vw, 56px);
    --section-y: clamp(80px, 11vw, 140px);
  }

  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:var(--f-sans);
    color:var(--ink);
    background:var(--bone);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    font-size:16px;
    line-height:1.55;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

  ::selection{background:var(--gold);color:var(--ink)}

  .wrap{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x)}

  /* ---------- type ---------- */
  .eyebrow{
    font-family:var(--f-sans);
    font-size:11px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:500;
    display:inline-flex;align-items:center;gap:14px;
  }
  .eyebrow::before{
    content:"";display:block;width:38px;height:1px;background:var(--gold);opacity:.6;
  }
  .eyebrow.center{justify-content:center}
  .eyebrow.center::before{display:none}
  .eyebrow.center::after,
  .eyebrow.center::before{
    content:"";display:block;width:38px;height:1px;background:var(--gold);opacity:.6;
  }
  .eyebrow.center{display:flex;justify-content:center}

  h1,h2,h3,h4{font-family:var(--f-serif);font-weight:500;letter-spacing:-.01em;margin:0;color:inherit;line-height:1.08}
  h1{font-size:clamp(38px, 5.6vw, 76px); font-weight:400}
  h2{font-size:clamp(30px, 3.6vw, 52px); font-weight:400; line-height:1.1}
  h3{font-size:clamp(20px, 1.6vw, 24px); font-weight:500}
  h1 em, h2 em{font-style:italic; color:var(--gold); font-weight:400}

  p{margin:0 0 1em}
  .lede{font-size:clamp(16px, 1.25vw, 19px); color:rgba(10,22,40,.72); line-height:1.65; max-width:62ch}

  /* ---------- buttons ---------- */
  .btn{
    --bg: var(--gold);
    --fg: var(--ink);
    --bd: var(--gold);
    display:inline-flex; align-items:center; gap:12px;
    padding:15px 26px;
    font-family:var(--f-sans);
    font-size:13px;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    background:var(--bg);
    color:var(--fg);
    border:1px solid var(--bd);
    border-radius:0;
    transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
    position:relative;
    white-space:nowrap;
  }
  .btn .arrow{
    width:18px;height:1px;background:currentColor;position:relative;display:inline-block;
    transition:width .25s ease;
  }
  .btn .arrow::after{
    content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;
    border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg);
  }
  .btn:hover{background:var(--gold-2);border-color:var(--gold-2);transform:translateY(-1px)}
  .btn:hover .arrow{width:24px}

  .btn--ghost{
    --bg:transparent; --fg:var(--bone); --bd:rgba(245,242,236,.45);
  }
  .btn--ghost:hover{background:rgba(245,242,236,.06);border-color:var(--bone);transform:translateY(-1px)}

  .btn--ghost-ink{
    --bg:transparent; --fg:var(--ink); --bd:rgba(10,22,40,.25);
  }
  .btn--ghost-ink:hover{background:transparent;border-color:var(--ink);transform:translateY(-1px)}

  .btn--lg{padding:19px 34px;font-size:13px}

  /* ---------- navbar ---------- */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:50;
    transition:background .35s ease, border-color .35s ease, padding .35s ease, color .35s ease, box-shadow .35s ease;
    color:var(--bone);
    padding:22px 0;
  }
  .nav.scrolled{
    background:rgba(10,22,40,.92);
    backdrop-filter:saturate(140%) blur(10px);
    -webkit-backdrop-filter:saturate(140%) blur(10px);
    padding:14px 0;
    border-bottom:1px solid var(--line-dark);
  }
  .nav__row{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .nav__brand{display:flex;align-items:center;gap:14px}
  .nav__mark{
    width:38px;height:38px;border-radius:50%;
    background:radial-gradient(circle at 50% 45%, #1a2a4a 0%, #0a1628 70%);
    border:1px solid var(--gold);
    display:grid;place-items:center;
    overflow:hidden;
  }
  .nav__mark img{width:120%;height:120%;object-fit:contain;opacity:.95}
  .nav__brand-text{display:flex;flex-direction:column;line-height:1}
  .nav__brand-name{font-family:var(--f-serif);font-size:18px;letter-spacing:.02em}
  .nav__brand-sub{font-family:var(--f-sans);font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:4px}

  .nav__links{display:flex;align-items:center;gap:36px}
  .nav__links a{
    font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;
    position:relative;padding:6px 0;color:inherit;opacity:.86;
    transition:opacity .2s ease, color .2s ease;
  }
  .nav__links a::after{
    content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--gold);
    transition:right .25s ease;
  }
  .nav__links a:hover{opacity:1;color:var(--gold-soft)}
  .nav__links a:hover::after{right:0}

  .nav__cta{margin-left:8px}

  .nav__toggle{display:none;width:42px;height:42px;border:1px solid var(--line-dark);align-items:center;justify-content:center;color:var(--bone)}
  .nav__toggle span{display:block;width:18px;height:1px;background:currentColor;position:relative}
  .nav__toggle span::before,.nav__toggle span::after{content:"";position:absolute;left:0;width:18px;height:1px;background:currentColor}
  .nav__toggle span::before{top:-6px}
  .nav__toggle span::after{top:6px}

  /* mobile sheet */
  .nav__sheet{
    display:none;
    position:fixed;inset:0;background:var(--ink);z-index:60;
    padding:90px var(--pad-x) 40px;
    flex-direction:column;gap:8px;
  }
  .nav__sheet a{
    display:block;padding:20px 0;border-bottom:1px solid var(--line-dark);
    font-family:var(--f-serif);font-size:24px;color:var(--bone);
  }
  .nav__sheet .btn{margin-top:24px}
  .nav__sheet .close{
    position:absolute;top:22px;right:var(--pad-x);width:42px;height:42px;
    display:grid;place-items:center;color:var(--bone);font-size:24px;
  }
  body.menu-open{overflow:hidden}
  body.menu-open .nav__sheet{display:flex}

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    color:var(--bone);
    background:
      radial-gradient(1100px 700px at 78% 22%, rgba(201,168,76,.10), transparent 60%),
      radial-gradient(900px 600px at 8% 90%, rgba(201,168,76,.06), transparent 60%),
      linear-gradient(180deg, #081223 0%, #0A1628 55%, #0c1a32 100%);
    padding: calc(var(--section-y) + 60px) 0 var(--section-y);
    overflow:hidden;
    isolation:isolate;
  }
  .hero::before{
    /* subtle geometric grid texture */
    content:"";position:absolute;inset:0;z-index:0;opacity:.06;pointer-events:none;
    background-image:
      linear-gradient(to right, #C9A84C 1px, transparent 1px),
      linear-gradient(to bottom, #C9A84C 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 75%);
  }
  .hero::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg, transparent, var(--line), transparent);z-index:1;
  }
  .hero .wrap{position:relative;z-index:2}
  .hero__grid{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,.78fr);gap:80px;align-items:center}
  @media (max-width:980px){ .hero__grid{grid-template-columns:1fr;gap:60px} }

  .hero h1{margin:18px 0 26px}
  .hero h1 .accent{color:var(--gold);font-style:italic;font-weight:400}
  .hero__sub{color:rgba(245,242,236,.78);font-size:clamp(16px,1.2vw,18.5px);max-width:54ch;line-height:1.7;margin-bottom:40px}
  .hero__cta{display:flex;gap:14px;flex-wrap:wrap}

  .hero__meta{
    margin-top:64px;display:flex;align-items:center;gap:18px;color:var(--muted-dark);
    font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  }
  .hero__meta .dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}

  /* hero seal / visual side */
  .hero__seal{
    position:relative;
    aspect-ratio:1/1;
    max-width:480px;
    margin-left:auto;
    display:grid;place-items:center;
  }
  .hero__seal::before{
    content:"";position:absolute;inset:0;border:1px solid var(--line);border-radius:50%;
    background:
      radial-gradient(circle at 50% 40%, rgba(201,168,76,.10), transparent 60%),
      radial-gradient(circle at 50% 60%, rgba(20,35,64,.6), transparent 70%);
  }
  .hero__seal::after{
    content:"";position:absolute;inset:30px;border:1px solid rgba(201,168,76,.15);border-radius:50%;
  }
  .hero__seal img{
    position:relative;z-index:2;width:78%;height:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5));
  }
  .hero__seal .rev{
    position:absolute;inset:-4px;
    animation:spin 60s linear infinite;
  }
  .hero__seal .rev svg{width:100%;height:100%;overflow:visible}
  .hero__seal .rev text{fill:var(--gold);font-family:var(--f-sans);font-size:6px;letter-spacing:.5em;text-transform:uppercase;opacity:.7}
  @keyframes spin{to{transform:rotate(360deg)}}

  /* ---------- stats bar ---------- */
  .stats{
    background:var(--ink-2);
    color:var(--bone);
    border-top:1px solid var(--line-dark);
    border-bottom:1px solid var(--line-dark);
  }
  .stats__grid{
    display:grid;grid-template-columns:repeat(4,1fr);
  }
  .stats__cell{
    padding:44px 32px;
    border-right:1px solid var(--line-dark);
    display:flex;flex-direction:column;gap:8px;
    position:relative;
  }
  .stats__cell:last-child{border-right:0}
  .stats__cell .n{
    font-family:var(--f-serif);font-size:clamp(28px,2.4vw,36px);color:var(--gold);line-height:1
  }
  .stats__cell .l{
    font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-dark);
  }
  @media (max-width:780px){
    .stats__grid{grid-template-columns:repeat(2,1fr)}
    .stats__cell:nth-child(2){border-right:0}
    .stats__cell:nth-child(1),.stats__cell:nth-child(2){border-bottom:1px solid var(--line-dark)}
  }

  /* ---------- sections ---------- */
  section{padding:var(--section-y) 0}
  .section-head{margin-bottom:60px;max-width:780px}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center}
  .section-head h2{margin:16px 0 18px}
  .section-head p{color:rgba(10,22,40,.68)}

  /* ---------- about ---------- */
  .about{background:var(--bone)}
  .about__grid{display:grid;grid-template-columns: 1fr 1fr;gap:80px;align-items:center}
  @media (max-width:900px){ .about__grid{grid-template-columns:1fr;gap:48px} }
  .about__photo{
    position:relative;aspect-ratio: 4/5;background:#22324f;overflow:hidden;
  }
  .about__photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
  .about__photo::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 60%, rgba(10,22,40,.55));
    pointer-events:none;z-index:1;
  }
  .about__photo .badge{
    position:absolute;left:24px;bottom:24px;z-index:2;color:var(--bone);
    display:flex;flex-direction:column;gap:4px;
  }
  .about__photo .badge .n{font-family:var(--f-serif);font-size:22px;letter-spacing:.01em}
  .about__photo .badge .r{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft)}
  .about__photo .frame{
    position:absolute;inset:18px;border:1px solid rgba(245,242,236,.18);z-index:2;pointer-events:none;
  }
  .about__photo .corner{
    position:absolute;width:34px;height:34px;border:1px solid var(--gold);z-index:3;
  }
  .about__photo .corner.tl{top:0;left:0;border-right:0;border-bottom:0}
  .about__photo .corner.br{bottom:0;right:0;border-left:0;border-top:0}

  .about__copy h2{margin:18px 0 22px}
  .about__copy p{color:rgba(10,22,40,.72);font-size:16.5px;line-height:1.75;max-width:54ch}
  .about__sig{
    display:flex;align-items:center;gap:18px;margin-top:34px;
    padding-top:28px;border-top:1px solid var(--line);
  }
  .about__sig{justify-content:space-between;flex-wrap:wrap;gap:18px 32px}
  .about__sig .name{font-family:var(--f-serif);font-size:20px}
  .about__sig .role{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:4px}
  .about__sig-mail{
    font-size:13px;color:var(--ink);letter-spacing:.02em;
    padding-bottom:3px;border-bottom:1px solid var(--gold);
    transition:color .2s ease;
  }
  .about__sig-mail:hover{color:var(--gold)}

  /* ---------- areas ---------- */
  .areas{background:#fff;position:relative}
  .areas .section-head{text-align:center;margin-left:auto;margin-right:auto}
  .areas__grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:0;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
  }
  @media (max-width:900px){ .areas__grid{grid-template-columns:1fr} }
  .area{
    padding:48px 40px 44px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:#fff;
    transition:background .35s ease, color .35s ease;
    position:relative;
    display:flex;flex-direction:column;gap:22px;
  }
  .area:hover{background:var(--ink); color:var(--bone)}
  .area:hover .area__num{color:var(--gold)}
  .area:hover .area__title{color:var(--bone)}
  .area:hover .area__list li{color:rgba(245,242,236,.78); border-color:var(--line-dark)}
  .area:hover .area__icon{border-color:var(--gold); background:rgba(201,168,76,.08)}
  .area:hover .area__icon svg{stroke:var(--gold)}

  .area__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
  .area__icon{
    width:62px;height:62px;border:1px solid var(--line);
    display:grid;place-items:center;flex-shrink:0;
    transition:border-color .3s ease, background .3s ease;
  }
  .area__icon svg{width:28px;height:28px;stroke:var(--gold);stroke-width:1.2;fill:none;transition:stroke .3s ease}
  .area__num{
    font-family:var(--f-serif);font-style:italic;font-size:18px;color:var(--muted);
    transition:color .3s ease;
  }
  .area__title{
    font-family:var(--f-serif);font-size:24px;line-height:1.2;font-weight:500;color:var(--ink);
    transition:color .3s ease;
  }
  .area__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
  .area__list li{
    padding:12px 0;border-top:1px solid var(--line);
    font-size:14.5px;color:rgba(10,22,40,.72);
    display:flex;align-items:center;gap:12px;
    transition:color .3s ease, border-color .3s ease;
  }
  .area__list li::before{
    content:"";display:block;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);flex-shrink:0;
  }

  /* ---------- pillars ---------- */
  .pillars{
    background: var(--ink);
    color:var(--bone);
    position:relative;
  }
  .pillars::before{
    content:"";position:absolute;inset:0;opacity:.05;pointer-events:none;
    background-image:linear-gradient(to right, #C9A84C 1px, transparent 1px),
                     linear-gradient(to bottom, #C9A84C 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse at 50% 50%, #000 20%, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse at 50% 50%, #000 20%, transparent 70%);
  }
  .pillars .section-head{position:relative;text-align:center;margin-left:auto;margin-right:auto}
  .pillars .section-head p{color:rgba(245,242,236,.68)}

  .pillars__grid{
    position:relative;
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    border-top:1px solid var(--line-dark);
  }
  @media (max-width:980px){ .pillars__grid{grid-template-columns:repeat(2,1fr)} }
  @media (max-width:560px){ .pillars__grid{grid-template-columns:1fr} }
  .pillar{
    padding:42px 30px 46px;
    border-right:1px solid var(--line-dark);
    border-bottom:1px solid var(--line-dark);
    display:flex;flex-direction:column;gap:18px;
    position:relative;
    transition:background .3s ease;
  }
  .pillar:hover{background:rgba(201,168,76,.04)}
  .pillars__grid .pillar:last-child{border-right:0}
  @media (max-width:980px){
    .pillar:nth-child(2n){border-right:0}
  }
  .pillar__icon{
    width:52px;height:52px;border:1px solid var(--gold);display:grid;place-items:center;
  }
  .pillar__icon svg{width:24px;height:24px;stroke:var(--gold);stroke-width:1.2;fill:none}
  .pillar h3{font-family:var(--f-serif);font-size:20px;font-weight:500;color:var(--bone)}
  .pillar p{font-size:14.5px;line-height:1.65;color:rgba(245,242,236,.66);margin:0}

  /* ---------- vision / mission ---------- */
  .vm{background:var(--bone-2)}
  .vm__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
  @media (max-width:840px){ .vm__grid{grid-template-columns:1fr} }
  .vm__card{
    padding:54px 48px;background:var(--bone);
    border-right:1px solid var(--line);
    position:relative;
  }
  @media (max-width:840px){
    .vm__card{border-right:0;border-bottom:1px solid var(--line)}
    .vm__card:last-child{border-bottom:0}
  }
  .vm__card:last-child{border-right:0;background:var(--bone-2)}
  .vm__card .label{
    display:flex;align-items:center;gap:14px;
    font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500;
    margin-bottom:22px;
  }
  .vm__card .label .glyph{
    width:32px;height:32px;border:1px solid var(--gold);display:grid;place-items:center;
    font-family:var(--f-serif);font-style:italic;font-size:14px;color:var(--gold);
  }
  .vm__card h3{
    font-family:var(--f-serif);font-size:clamp(22px,2vw,28px);font-weight:400;line-height:1.4;color:var(--ink);
    margin:0;max-width:36ch;
  }

  /* ---------- mid CTA ---------- */
  .cta{
    background: linear-gradient(180deg, #0A1628 0%, #0c1a32 100%);
    color:var(--bone);
    position:relative;overflow:hidden;text-align:center;
  }
  .cta::before, .cta::after{
    content:"";position:absolute;top:50%;width:38vw;max-width:520px;height:1px;background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:.4
  }
  .cta::before{left:0}
  .cta::after{right:0}
  .cta .wrap{position:relative;z-index:2}
  .cta .eyebrow{color:var(--gold);margin-bottom:24px}
  .cta h2{
    font-family:var(--f-serif);font-size:clamp(28px,3.4vw,46px);font-weight:400;font-style:italic;
    max-width:22ch;margin:0 auto 36px;line-height:1.25;
  }
  .cta h2 .word{color:var(--gold);font-style:normal}
  .cta .btn--lg{margin-top:8px}

  /* ---------- footer ---------- */
  .foot{background:#06101e;color:rgba(245,242,236,.75);padding:80px 0 32px;font-size:14px}
  .foot__grid{display:grid;grid-template-columns: 1.4fr 1fr 1fr 1fr;gap:48px;align-items:flex-start}
  @media (max-width:860px){ .foot__grid{grid-template-columns:1fr 1fr;gap:40px} }
  @media (max-width:520px){ .foot__grid{grid-template-columns:1fr} }
  .foot__brand{display:flex;flex-direction:column;gap:18px;max-width:36ch}
  .foot__brand .row{display:flex;align-items:center;gap:14px}
  .foot__brand .row img{width:46px;height:46px;object-fit:contain}
  .foot__brand .name{font-family:var(--f-serif);font-size:22px;color:var(--bone)}
  .foot__brand .sub{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:4px}
  .foot__brand p{color:rgba(245,242,236,.55);line-height:1.7;font-size:13.5px;margin:0 0 .8em}
  .foot__oab{color:var(--gold) !important;font-size:11.5px !important;letter-spacing:.22em;text-transform:uppercase;margin-top:4px}

  .foot h4{
    font-family:var(--f-sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:0 0 18px;
  }
  .foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
  .foot ul a{color:rgba(245,242,236,.7);font-size:14px;transition:color .2s ease}
  .foot ul a:hover{color:var(--gold)}
  .foot__bottom{
    margin-top:64px;padding-top:24px;border-top:1px solid var(--line-dark);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    font-size:12px;letter-spacing:.08em;color:rgba(245,242,236,.45);
  }

  /* ---------- reveal anim ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1)}
  .reveal.is-in{opacity:1;transform:none}
  .reveal[data-delay="1"]{transition-delay:.08s}
  .reveal[data-delay="2"]{transition-delay:.16s}
  .reveal[data-delay="3"]{transition-delay:.24s}
  .reveal[data-delay="4"]{transition-delay:.32s}

  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none}
    .hero__seal .rev{animation:none}
  }

  /* ---------- mobile nav breakpoint ---------- */
  @media (max-width:880px){
    .nav__links, .nav__cta{display:none}
    .nav__toggle{display:flex}
  }

  /* ---------- floating WhatsApp button ---------- */
  .wa-fab{
    position:fixed; right:clamp(16px, 2.4vw, 28px); bottom:clamp(16px, 2.4vw, 28px);
    z-index:55;
    display:inline-flex; align-items:center; gap:10px;
    padding:14px 18px 14px 14px;
    background:#25D366;
    color:#fff;
    border-radius:999px;
    box-shadow:
      0 10px 30px rgba(37,211,102,.35),
      0 2px 8px rgba(0,0,0,.18);
    font-family:var(--f-sans);
    font-size:13.5px;
    font-weight:500;
    letter-spacing:.02em;
    text-decoration:none;
    transform:translateY(8px) scale(.96);
    opacity:0;
    pointer-events:none;
    transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .35s ease, box-shadow .25s ease, background .25s ease;
  }
  .wa-fab.is-visible{opacity:1; transform:none; pointer-events:auto}
  body.cookie-active .wa-fab.is-visible{ transform: translateY(-120px) }
  @media (max-width: 820px){
    body.cookie-active .wa-fab.is-visible{ transform: translateY(-200px) }
  }
  .wa-fab:hover{background:#1FBE5A; box-shadow:0 14px 34px rgba(37,211,102,.45), 0 2px 8px rgba(0,0,0,.18)}
  .wa-fab__icon{
    width:32px; height:32px; border-radius:50%;
    background:#fff;
    display:grid; place-items:center;
    flex-shrink:0;
  }
  .wa-fab__icon svg{width:20px; height:20px; display:block}
  .wa-fab__label{white-space:nowrap}
  .wa-fab__pulse{
    position:absolute; inset:-2px; border-radius:999px;
    border:2px solid #25D366;
    animation:wa-pulse 2.2s ease-out infinite;
    pointer-events:none;
  }
  @keyframes wa-pulse{
    0%{transform:scale(1); opacity:.55}
    100%{transform:scale(1.25); opacity:0}
  }
  @media (max-width: 560px){
    .wa-fab{padding:0; width:58px; height:58px; justify-content:center; gap:0}
    .wa-fab__label{display:none}
    .wa-fab__icon{background:transparent; width:30px; height:30px}
    .wa-fab__icon svg{width:30px; height:30px}
    .wa-fab__icon svg path{fill:#fff}
  }
  @media (prefers-reduced-motion: reduce){
    .wa-fab__pulse{animation:none; display:none}
    .wa-fab{transition:opacity .2s ease}
  }

  /* ============ RESPONSIVE — TABLET ============ */
  @media (max-width: 1100px){
    :root{ --container: 100%; }
    .hero__grid{ gap:56px }
    .hero__seal{ max-width:380px }
    .areas__grid{ grid-template-columns:1fr 1fr }
    .areas__grid .area:nth-child(3){ grid-column:1 / -1 }
  }

  @media (max-width: 900px){
    :root{
      --pad-x: clamp(18px, 4vw, 32px);
      --section-y: clamp(64px, 9vw, 96px);
    }
    .hero{ padding-top: calc(var(--section-y) + 48px); }
    .hero__grid{ grid-template-columns:1fr; gap:48px }
    .hero__seal{ max-width:320px; margin:0 auto }
    .areas__grid{ grid-template-columns:1fr }
    .areas__grid .area:nth-child(3){ grid-column:auto }
    .about__grid{ grid-template-columns:1fr; gap:40px }
    .vm__grid{ grid-template-columns:1fr }
    .vm__card{ border-right:0; border-bottom:1px solid var(--line) }
    .vm__card:last-child{ border-bottom:0 }
    .pillars__grid{ grid-template-columns:1fr 1fr }
    .pillar:nth-child(2n){ border-right:0 }
  }

  /* ============ RESPONSIVE — PHONE ============ */
  @media (max-width: 680px){
    :root{
      --pad-x: 18px;
      --section-y: 64px;
    }
    body{ font-size:15px }
    h1{ font-size:clamp(32px, 9.5vw, 44px); line-height:1.1 }
    h2{ font-size:clamp(26px, 7.5vw, 34px); line-height:1.15 }
    h3{ font-size:18px }
    .lede{ font-size:15.5px }

    /* nav */
    .nav{ padding:14px 0 }
    .nav.scrolled{ padding:10px 0 }
    .nav__brand-name{ font-size:16px }
    .nav__brand-sub{ font-size:8.5px; letter-spacing:.28em }
    .nav__mark{ width:34px; height:34px }
    .nav__sheet{ padding:80px 22px 32px }
    .nav__sheet a{ font-size:20px; padding:18px 0 }
    .nav__sheet .btn{ width:100%; justify-content:center }

    /* hero */
    .hero{ padding: calc(var(--section-y) + 56px) 0 var(--section-y) }
    .hero__sub{ font-size:15.5px; margin-bottom:32px }
    .hero__cta{ flex-direction:column; align-items:stretch; gap:12px; width:100% }
    .hero__cta .btn{ justify-content:center; width:100% }
    .hero__meta{ margin-top:48px; font-size:10.5px; letter-spacing:.18em; flex-wrap:wrap; gap:10px 14px }
    .hero__seal{ max-width:260px }

    /* stats */
    .stats__grid{ grid-template-columns:1fr 1fr }
    .stats__cell{ padding:28px 18px; gap:6px }
    .stats__cell .n{ font-size:24px }
    .stats__cell .l{ font-size:10.5px; letter-spacing:.18em }
    .stats__cell:nth-child(1),.stats__cell:nth-child(2){ border-bottom:1px solid var(--line-dark) }
    .stats__cell:nth-child(2n){ border-right:0 }

    /* sections */
    .section-head{ margin-bottom:40px }

    /* about */
    .about__photo{ aspect-ratio:4/4.5 }
    .about__photo img{ object-position:center 18% }
    .about__photo .badge{ left:18px; bottom:18px }
    .about__photo .badge .n{ font-size:18px }
    .about__sig{ margin-top:26px; padding-top:22px; gap:14px }
    .about__sig-mail{ font-size:12.5px; word-break:break-all }

    /* areas */
    .area{ padding:32px 22px 32px; gap:18px }
    .area__icon{ width:54px; height:54px }
    .area__icon svg{ width:24px; height:24px }
    .area__title{ font-size:20px }
    .area__list li{ font-size:14px; padding:11px 0 }

    /* pillars */
    .pillars__grid{ grid-template-columns:1fr }
    .pillar{ padding:30px 22px 32px; border-right:0 }
    .pillar:last-child{ border-bottom:0 }
    .pillar__icon{ width:46px; height:46px }
    .pillar__icon svg{ width:22px; height:22px }
    .pillar h3{ font-size:18px }
    .pillar p{ font-size:14px }

    /* vm */
    .vm__card{ padding:36px 24px }
    .vm__card h3{ font-size:18px; line-height:1.5 }

    /* cta */
    .cta::before, .cta::after{ display:none }
    .cta h2{ margin-bottom:28px }
    .cta .btn--lg{ width:100%; justify-content:center; padding:18px 22px; font-size:11.5px; letter-spacing:.12em }

    /* buttons general */
    .btn{ padding:14px 22px; font-size:12px; letter-spacing:.12em }
    .btn--lg{ padding:16px 24px }

    /* footer */
    .foot{ padding:56px 0 28px }
    .foot__grid{ grid-template-columns:1fr; gap:36px }
    .foot__bottom{ margin-top:44px; font-size:11px; flex-direction:column; align-items:flex-start; gap:8px }
    .foot__brand .row img{ width:40px; height:40px }
    .foot__brand .name{ font-size:20px }
  }

  @media (max-width: 380px){
    :root{ --pad-x: 16px }
    .nav__brand-text{ display:none }
    .hero__cta .btn{ font-size:11.5px; padding:13px 18px }
    .stats__cell{ padding:24px 14px }
    .area{ padding:28px 18px }
  }

  /* Tap target safety for tiny touch surfaces */
  @media (hover: none){
    .nav__links a, .area__list li, .foot ul a{ -webkit-tap-highlight-color: rgba(201,168,76,.18) }
    .btn:hover{ transform:none }
  }

  /* ============ COOKIE BANNER ============ */
  .cookie{
    position:fixed; left:clamp(14px, 2vw, 24px); right:clamp(14px, 2vw, 24px);
    bottom:clamp(14px, 2vw, 24px);
    z-index:70;
    background:rgba(10,22,40,.97);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    color:var(--bone);
    border:1px solid var(--line);
    box-shadow:0 24px 60px rgba(0,0,0,.45), 0 4px 12px rgba(0,0,0,.25);
    padding:22px 26px;
    display:flex; align-items:center; justify-content:space-between; gap:28px;
    transform:translateY(20px);
    opacity:0;
    pointer-events:none;
    transition:opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1);
    max-width:1100px; margin:0 auto;
  }
  .cookie.is-visible{opacity:1; transform:none; pointer-events:auto}
  .cookie__head{
    display:flex; align-items:center; gap:14px; flex-shrink:0;
  }
  .cookie__glyph{
    width:38px; height:38px; border:1px solid var(--gold); display:grid; place-items:center;
    color:var(--gold); flex-shrink:0;
  }
  .cookie__glyph svg{width:18px; height:18px; stroke:currentColor; stroke-width:1.3; fill:none}
  .cookie__text{
    font-size:13.5px; line-height:1.6; color:rgba(245,242,236,.82);
    flex:1; min-width:0;
  }
  .cookie__text strong{color:var(--bone); font-weight:500; font-family:var(--f-serif); font-size:15px; display:block; margin-bottom:2px; letter-spacing:.01em}
  .cookie__text a{color:var(--gold); border-bottom:1px solid rgba(201,168,76,.4); padding-bottom:1px}
  .cookie__text a:hover{border-color:var(--gold)}
  .cookie__actions{display:flex; gap:10px; flex-shrink:0}
  .cookie__btn{
    font-family:var(--f-sans); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
    padding:12px 22px; border:1px solid var(--gold); background:var(--gold); color:var(--ink);
    cursor:pointer; transition:background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
    white-space:nowrap;
  }
  .cookie__btn:hover{background:var(--gold-2); border-color:var(--gold-2); transform:translateY(-1px)}
  .cookie__btn--ghost{background:transparent; color:var(--bone); border-color:rgba(245,242,236,.4)}
  .cookie__btn--ghost:hover{background:transparent; border-color:var(--bone); color:var(--bone)}

  @media (max-width: 820px){
    .cookie{flex-direction:column; align-items:stretch; padding:20px 22px; gap:18px}
    .cookie__head{align-items:flex-start}
    .cookie__actions{width:100%}
    .cookie__btn{flex:1; padding:13px 14px}
  }

  /* ============ PRIVACY MODAL ============ */
  .modal{
    position:fixed; inset:0; z-index:80;
    display:none; align-items:center; justify-content:center;
    padding:clamp(14px, 3vw, 36px);
  }
  .modal.is-open{display:flex}
  .modal__overlay{
    position:absolute; inset:0; background:rgba(6, 14, 28, .82);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    animation:modal-fade .25s ease;
  }
  .modal__panel{
    position:relative;
    background:#fff;
    width:min(820px, 100%);
    max-height:88vh;
    display:flex; flex-direction:column;
    box-shadow:0 30px 80px rgba(0,0,0,.45);
    animation:modal-rise .35s cubic-bezier(.2,.7,.2,1);
  }
  @keyframes modal-fade{from{opacity:0}to{opacity:1}}
  @keyframes modal-rise{
    from{opacity:0; transform:translateY(20px)}
    to{opacity:1; transform:none}
  }
  .modal__close{
    position:absolute; top:14px; right:14px;
    width:42px; height:42px;
    display:grid; place-items:center;
    background:transparent; border:1px solid var(--line);
    color:var(--ink); cursor:pointer;
    transition:background .2s ease, border-color .2s ease;
    z-index:2;
  }
  .modal__close:hover{background:var(--bone); border-color:var(--gold)}
  .modal__close svg{width:14px; height:14px; stroke:currentColor; stroke-width:1.5; fill:none}

  .modal__header{
    padding:42px 48px 24px;
    border-bottom:1px solid var(--line);
    flex-shrink:0;
  }
  .modal__header .eyebrow{margin-bottom:14px}
  .modal__header h2{
    font-family:var(--f-serif); font-size:clamp(24px, 3vw, 34px); font-weight:400; line-height:1.2; color:var(--ink);
    margin:0;
  }
  .modal__header h2 em{color:var(--gold); font-style:italic}

  .modal__body{
    padding:32px 48px 40px;
    overflow-y:auto;
    flex:1;
    color:rgba(10,22,40,.78);
    font-size:14.5px; line-height:1.7;
  }
  .modal__body::-webkit-scrollbar{width:8px}
  .modal__body::-webkit-scrollbar-thumb{background:var(--line); border-radius:0}
  .modal__body::-webkit-scrollbar-track{background:var(--bone)}

  .policy__section{margin-bottom:28px}
  .policy__section:last-child{margin-bottom:0}
  .policy__section h3{
    font-family:var(--f-sans);
    font-size:11px; letter-spacing:.28em; text-transform:uppercase;
    color:var(--gold); font-weight:500;
    margin:0 0 10px;
    display:flex; align-items:center; gap:12px;
  }
  .policy__section h3::before{
    content:""; display:block; width:24px; height:1px; background:var(--gold);
  }
  .policy__section h4{
    font-family:var(--f-serif); font-size:18px; font-weight:500; color:var(--ink);
    margin:0 0 8px; letter-spacing:.005em;
  }
  .policy__section p, .policy__section li{
    color:rgba(10,22,40,.76); font-size:14.5px; line-height:1.7; margin:0 0 8px;
  }
  .policy__section ul{margin:6px 0 0; padding-left:20px}
  .policy__section ul li{margin-bottom:4px}
  .policy__section a{color:var(--gold); border-bottom:1px solid rgba(201,168,76,.4)}

  .policy__meta{
    margin-top:32px; padding-top:20px;
    border-top:1px solid var(--line);
    font-size:12.5px; color:var(--muted);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
  }

  @media (max-width: 640px){
    .modal__header{padding:36px 24px 20px}
    .modal__body{padding:24px 24px 32px}
    .modal__panel{max-height:92vh}
  }

  /* footer privacy link */
  .foot__privacy{
    background:none; border:0; padding:0; cursor:pointer;
    color:rgba(245,242,236,.7); font-size:14px;
    font-family:inherit; text-align:left;
    transition:color .2s ease;
  }
  .foot__privacy:hover{color:var(--gold)}

  body.modal-open{overflow:hidden}

  /* ============ GEO: RESUMO RÁPIDO ============ */
  .quickfacts{
    border:1px solid var(--line); background:var(--bone);
    padding:28px 32px; margin:0 0 56px;
    display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px 40px;
    text-align:left;
  }
  .quickfacts dt{
    font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold);
    font-weight:500; margin-bottom:5px;
  }
  .quickfacts dd{margin:0; font-size:14.5px; line-height:1.6; color:rgba(10,22,40,.78)}
  .quickfacts dd a{color:var(--ink); border-bottom:1px solid var(--gold)}
  .quickfacts dd a:hover{color:var(--gold)}
  @media (max-width:680px){
    .quickfacts{grid-template-columns:1fr; padding:24px 22px; gap:18px; margin-bottom:40px}
  }

  /* ============ FAQ ============ */
  .faq{background:var(--bone-2)}
  .faq__list{border-top:1px solid var(--line)}
  .faq__item{border-bottom:1px solid var(--line)}
  .faq__q{
    width:100%; text-align:left; cursor:pointer;
    display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
    padding:26px 0;
    font-family:var(--f-serif); font-size:clamp(17px,1.6vw,21px); font-weight:500; color:var(--ink);
    line-height:1.35; transition:color .2s ease;
    list-style:none;
  }
  .faq__q::-webkit-details-marker{display:none}
  .faq__q:hover{color:var(--gold-2)}
  .faq__sign{position:relative; width:16px; height:16px; flex-shrink:0; margin-top:6px}
  .faq__sign::before,.faq__sign::after{
    content:""; position:absolute; background:var(--gold);
    transition:transform .3s cubic-bezier(.2,.7,.2,1), opacity .3s ease;
  }
  .faq__sign::before{left:0; top:7.5px; width:16px; height:1px}
  .faq__sign::after{top:0; left:7.5px; height:16px; width:1px}
  .faq__item[open] .faq__sign::after{transform:rotate(90deg); opacity:0}
  .faq__a{
    font-size:15px; line-height:1.75; color:rgba(10,22,40,.74);
    max-width:74ch; padding:0 0 30px;
  }
  .faq__a p{margin:0}
  @media (max-width:680px){
    .faq__q{padding:22px 0; gap:16px}
    .faq__a{font-size:14.5px; padding-bottom:24px}
  }

  /* GEO declarative statement in footer */
  .foot__statement{padding:0 0 28px; margin-bottom:36px; border-bottom:1px solid var(--line-dark)}
  .foot__statement p{
    font-family:var(--f-sans); font-size:13.5px; line-height:1.7;
    color:rgba(245,242,236,.62); max-width:88ch; margin:0;
  }
  .foot__statement strong{color:rgba(245,242,236,.85); font-weight:500}
  .foot__nap{
    margin-top:8px !important; font-size:12.5px !important;
    color:rgba(245,242,236,.42) !important; max-width:none !important;
  }
  .foot__nap a{color:rgba(245,242,236,.55); border-bottom:1px solid rgba(201,168,76,.25)}
  .foot__nap a:hover{color:var(--gold)}
