*,*::before,*::after{box-sizing:border-box}
:root{
  color-scheme:dark;
  --bg:#232429;
  --bg-2:#292a30;
  --surface:#2d2e34;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.18);
  --ink:#f2f0ec;
  --muted:#aba89f;
  --mist:#79766f;
  --gold-1:#c99f68;
  --gold-2:#ab813f;
  --gold-3:#ffe2b4;
  --gold-4:#bc8d3c;
  --gold-5:#e6b651;
  --gold-flat:#cda866;
  --gold-grad:linear-gradient(90deg,var(--gold-1) 0%,var(--gold-2) 24%,var(--gold-3) 47%,var(--gold-4) 71%,var(--gold-5) 100%);
  --gold-foil:linear-gradient(100deg,var(--gold-1) 0%,var(--gold-2) 16%,var(--gold-3) 32%,#fff7ec 42%,var(--gold-3) 52%,var(--gold-4) 70%,var(--gold-5) 88%,var(--gold-1) 100%);
}
html{background:var(--bg);scroll-behavior:smooth;font-size:115%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Public Sans',Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:'Playfair Display',Georgia,'Times New Roman',serif;margin:0;line-height:1.15;font-weight:600}
p{margin:0;line-height:1.7;color:var(--muted)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.gold-text{background-image:var(--gold-foil);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:var(--gold-flat);-webkit-text-fill-color:transparent}
em{font-style:italic}

/* slow "hot-stamping foil catching the light" shimmer on every gold accent */
@keyframes goldSheen{0%{background-position:100% 0}50%{background-position:0% 0}100%{background-position:100% 0}}
@keyframes goldFoil{0%,100%{filter:brightness(1)}48%,52%{filter:brightness(1.13) drop-shadow(0 0 6px rgba(255,226,180,.2))}}
@media (prefers-reduced-motion:no-preference){
  .gold-text{animation:goldSheen 9s ease-in-out infinite}
  .topbar__logo{animation:goldFoil 7s ease-in-out infinite}
}

/* ---------- topbar ---------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:300;background:rgba(35,36,41,0);transition:background .3s,backdrop-filter .3s,border-color .3s,padding .3s;border-bottom:1px solid transparent;padding:22px 0}
.topbar.on{background:rgba(35,36,41,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line);padding:14px 0}
.topbar__inner{max-width:1120px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:22px}
.topbar__logo{height:34px;width:auto;max-width:min(340px,58vw);object-fit:contain;object-position:center;transition:height .3s}
.topbar.on .topbar__logo{height:29px}
@media (max-width:600px){.topbar__logo{height:27px}}
.topbar__brand{display:flex;align-items:center;justify-self:center}
.topbar__nav--left{justify-self:end;min-width:0}
.topbar__right{display:flex;align-items:center;justify-content:flex-start;justify-self:start;gap:18px;min-width:0}
.topbar__nav{display:flex;align-items:center;gap:22px}
.topbar__nav a{font-size:.8125rem;letter-spacing:.03em;color:var(--muted);font-weight:500;transition:color .2s;white-space:nowrap}
.topbar__nav a:hover,.topbar__nav a.active{color:var(--gold-5)}
.topbar__cta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex:none;border:1px solid var(--gold-flat);color:var(--gold-3);padding:13px 28px;font-size:.8rem;letter-spacing:.03em;font-weight:600}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;z-index:310;position:relative}
.menu-btn span{width:22px;height:1.5px;background:var(--ink);display:block;transition:transform .25s,opacity .25s}
.menu-btn.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0}
.menu-btn.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.mobile-nav{position:fixed;inset:0;background:var(--bg);z-index:290;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;pointer-events:none;transition:opacity .3s}
.mobile-nav.open{opacity:1;pointer-events:auto}
.mobile-nav a{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--ink)}
.mobile-nav a.active{color:var(--gold-5)}

/* ---------- page hero (inner pages) ---------- */
.pagehero{padding:170px 0 60px;border-bottom:1px solid var(--line);background:
  repeating-linear-gradient(0deg,transparent,transparent 38px,rgba(255,255,255,.02) 38px,rgba(255,255,255,.02) 39px),
  repeating-linear-gradient(90deg,transparent,transparent 38px,rgba(255,255,255,.02) 38px,rgba(255,255,255,.02) 39px),
  var(--bg)}
.pagehero .eyebrow{justify-content:flex-start}
.pagehero h1{font-size:clamp(2rem,5.06vw,3rem)}
.pagehero .lede{margin-top:16px;max-width:60ch}

/* ---------- hero (home) ---------- */
.hero{position:relative;padding:190px 0 62px;background:
  repeating-linear-gradient(0deg,transparent,transparent 38px,rgba(255,255,255,.025) 38px,rgba(255,255,255,.025) 39px),
  repeating-linear-gradient(90deg,transparent,transparent 38px,rgba(255,255,255,.025) 38px,rgba(255,255,255,.025) 39px),
  var(--bg);
  border-bottom:1px solid var(--line)}
.hero__inner{max-width:720px;margin:0 auto;text-align:center}
.hero__crest{display:block;height:118px;width:auto;object-fit:contain;margin:0 auto 22px}
svg.hero__crest .crest-gold{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  svg.hero__crest .crest-gold{animation:goldFoil 7s ease-in-out infinite}
}
@media (max-width:520px){.hero__crest{height:92px;margin-bottom:18px}}
.hero h1{font-size:clamp(2.1rem,5.29vw,3.1rem);font-weight:600;margin-bottom:20px;color:var(--ink)}
.hero .lede{font-size:clamp(1rem,1.61vw,1.12rem);color:var(--muted);max-width:52ch;margin:0 auto 36px}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* ---------- hero load animation ---------- */
.hero h1 .hero-word{display:inline-block;font-style:normal}
@property --shine-angle{syntax:"<angle>";inherits:false;initial-value:0deg}

@media (prefers-reduced-motion:no-preference){
  .hero-anim{opacity:0;animation:heroFade .8s cubic-bezier(.16,1,.3,1) both}
  .hero-anim--crest{animation:heroFade .8s cubic-bezier(.16,1,.3,1) .1s both}

  /* h1 words zoom in, almost together with the logo */
  .hero h1 .hero-word{animation:heroZoom .55s cubic-bezier(.16,1,.3,1) backwards}
  .hero h1 .hero-word:nth-child(1){animation-delay:.1s}
  .hero h1 .hero-word:nth-child(2){animation-delay:.32s}
  /* the gold word keeps shimmering after the zoom (no lingering transform: it breaks background-clip:text) */
  .hero h1 .hero-word.gold-text{animation:heroZoom .55s cubic-bezier(.16,1,.3,1) .32s backwards,goldSheen 9s ease-in-out 1.5s infinite}

  /* paragraphs reveal left-to-right, starting as "Advocacia" appears */
  .hero-anim--p1,.hero-anim--p2{
    opacity:1;
    -webkit-mask:linear-gradient(90deg,#000 55%,rgba(0,0,0,0) 88%) no-repeat 160% 0 / 260% 100%;
            mask:linear-gradient(90deg,#000 55%,rgba(0,0,0,0) 88%) no-repeat 160% 0 / 260% 100%;
    animation:heroWipe 1.05s cubic-bezier(.16,1,.3,1) both;
  }
  .hero-anim--p1{animation-delay:.16s}
  .hero-anim--p2{animation-delay:.3s}

  .hero-btn{opacity:0;transform:translateY(26px);animation:heroRise .7s cubic-bezier(.16,1,.3,1) both}
  .hero-btn--1{animation-delay:.7s}
  .hero-btn--2{animation-delay:.85s}
}

@keyframes heroFade{to{opacity:1}}
@keyframes heroZoom{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
@keyframes heroWipe{from{-webkit-mask-position:160% 0;mask-position:160% 0}to{-webkit-mask-position:0% 0;mask-position:0% 0}}
@keyframes heroRise{to{opacity:1;transform:translateY(0)}}
@keyframes heroShineSpin{to{--shine-angle:360deg}}

/* .btn-fx — permanent gold light around the border + "zoning in" gold fill on hover */
.btn-fx{position:relative;overflow:visible;transition:color .25s ease}
.btn-fx>span{position:relative;z-index:1}
.btn-fx::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--gold-flat),var(--gold-flat)),linear-gradient(var(--gold-flat),var(--gold-flat));
  background-repeat:no-repeat;background-position:top,bottom;background-size:100% 0,100% 0;
  transition:background-size .32s ease;
}
.btn-fx:hover{color:#1c1806}
.btn-fx:hover::after{background-size:100% 50.5%,100% 50.5%}
@media (prefers-reduced-motion:no-preference){
  .btn-fx::before{
    content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;z-index:2;
    background:conic-gradient(from var(--shine-angle),transparent 0 70%,var(--gold-5) 80%,var(--gold-3) 88%,var(--gold-5) 94%,transparent 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    pointer-events:none;animation:heroShineSpin 3.1s linear infinite;
  }
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-size:.781rem;letter-spacing:.04em;font-weight:600;transition:transform .15s,filter .2s,color .2s,border-color .2s}
.btn-gold{background-image:var(--gold-foil);background-size:250% 100%;background-position:100% 0;color:#1c1806;border:none}
.btn-gold:hover{filter:brightness(1.07)}
.btn-outline{border:1px solid var(--line-strong);color:var(--ink)}
.btn-outline:hover{border-color:var(--gold-flat);color:var(--gold-3)}
@media (prefers-reduced-motion:no-preference){.btn-gold{animation:goldSheen 9s ease-in-out infinite}}

/* topbar CTA — "zoning in": gold fills from top & bottom to the centre on hover */
.topbar__cta{position:relative;overflow:hidden;transition:color .25s ease}
.topbar__cta>span{position:relative;z-index:1}
.topbar__cta::before,.topbar__cta::after{content:"";position:absolute;left:0;right:0;height:0;background:var(--gold-flat);z-index:0;transition:height .3s ease}
.topbar__cta::before{top:0}
.topbar__cta::after{bottom:0}
.topbar__cta:hover{color:#1c1806}
.topbar__cta:hover::before,.topbar__cta:hover::after{height:50%}


/* bubbly button — gooey bubbles pop out on hover (goo SVG filter) */
.goo-defs{position:absolute;width:0;height:0;overflow:hidden}
.bubbly{position:relative;display:inline-flex}
.bubbly .btn{position:relative;z-index:2}
.bubbly__fx{position:absolute;inset:0;z-index:1;pointer-events:none;filter:url(#goo)}
.bubbly__fx .effect-btn{position:absolute;inset:2px;border-radius:4px;background:var(--gold-flat);opacity:0;transition:opacity .25s ease}
.bubbly:hover .effect-btn{opacity:1}
.bubbly__fx .circle{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--gold-flat);opacity:0;transform:scale(0)}
.bubbly__fx .tl{top:4px;left:26px}
.bubbly__fx .br{bottom:4px;right:26px}
.bubbly:hover .tl:nth-child(1){animation:bubTL .8s .03s ease-out forwards}
.bubbly:hover .tl:nth-child(2){animation:bubTL .8s .15s ease-out forwards}
.bubbly:hover .tl:nth-child(3){animation:bubTL .8s .27s ease-out forwards}
.bubbly:hover .br:nth-child(5){animation:bubBR .8s .03s ease-out forwards}
.bubbly:hover .br:nth-child(6){animation:bubBR .8s .15s ease-out forwards}
.bubbly:hover .br:nth-child(7){animation:bubBR .8s .27s ease-out forwards}
@keyframes bubTL{
  0%{opacity:1;transform:translate(0,0) scale(.5)}
  55%{opacity:1;transform:translate(-13px,-15px) scale(1)}
  100%{opacity:0;transform:translate(-28px,-38px) scale(.2)}
}
@keyframes bubBR{
  0%{opacity:1;transform:translate(0,0) scale(.5)}
  55%{opacity:1;transform:translate(13px,15px) scale(1)}
  100%{opacity:0;transform:translate(28px,38px) scale(.2)}
}
@media (prefers-reduced-motion:reduce){.bubbly__fx{display:none}}

/* ---------- fact strip ---------- */
.factstrip{background:var(--bg-2);padding:34px 0 42px;border-bottom:1px solid var(--line)}
.factstrip__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.factstrip__grid>div{text-align:center;padding:0 12px;border-left:1px solid var(--line)}
.factstrip__grid>div:first-child{border-left:none}
.factstrip b{display:block;font-family:'Public Sans',Arial,Helvetica,sans-serif;font-size:2rem;font-weight:800;letter-spacing:-.01em;margin-bottom:4px}
.factstrip span{font-size:.656rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mist)}

/* factstrip load animation (counter + slot + soft zoom) */
.factstrip__grid b{font-variant-numeric:tabular-nums}
.factstrip__grid span{display:inline-block;opacity:0;transform:scale(.7);transition:opacity .65s ease,transform .65s cubic-bezier(.16,1,.3,1)}
.factstrip__grid.in span{opacity:1;transform:scale(1)}
.factstrip__grid.in>div:nth-child(1) span{transition-delay:.6s}
.factstrip__grid.in>div:nth-child(2) span{transition-delay:.75s}
.factstrip__grid.in>div:nth-child(3) span{transition-delay:.9s}
.factstrip__grid.in>div:nth-child(4) span{transition-delay:1.05s}

/* "Nacional" — soft zoom + gradient reveal left-to-right */
.factstrip__grid>div:nth-child(4) b{
  display:block;opacity:0;transform:scale(.82);
  -webkit-mask:linear-gradient(90deg,#000 55%,rgba(0,0,0,0) 90%) no-repeat 160% 0 / 260% 100%;
          mask:linear-gradient(90deg,#000 55%,rgba(0,0,0,0) 90%) no-repeat 160% 0 / 260% 100%;
}
.factstrip__grid.in>div:nth-child(4) b{animation:nacReveal .95s cubic-bezier(.16,1,.3,1) .45s forwards,goldSheen 9s ease-in-out 1.7s infinite}
@keyframes nacReveal{
  0%{opacity:0;transform:scale(.82);-webkit-mask-position:160% 0;mask-position:160% 0}
  30%{opacity:1}
  100%{opacity:1;transform:scale(1);-webkit-mask-position:0% 0;mask-position:0% 0}
}

@media (prefers-reduced-motion:reduce){
  .factstrip__grid span{opacity:1;transform:none;transition:none}
  .factstrip__grid>div:nth-child(4) b{opacity:1;transform:none;-webkit-mask:none;mask:none;animation:none}
}

/* ---------- sections ---------- */
.sec{position:relative;padding:96px 0}
.sec-alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-tight{padding:76px 0}
.sec__head{max-width:640px;margin:0 0 44px}
.sec__head.center{margin:0 auto 44px;text-align:center}
.eyebrow{font-size:.719rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-5);margin-bottom:14px;display:flex;align-items:center;gap:10px;font-weight:600}
.eyebrow::before{content:"";width:20px;height:1px;background:var(--gold-2)}
.sec__head.center .eyebrow{justify-content:center}
.sec__head.center .eyebrow::before{display:none}
h2{font-size:clamp(1.7rem,3.22vw,2.3rem);font-weight:600;margin-bottom:14px;color:var(--ink)}
.lede{font-size:1.02rem;color:var(--muted);max-width:60ch}

/* ---------- about / founder ---------- */
.about__grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:60px;align-items:start}
.quote{border-left:2px solid var(--gold-flat);padding-left:24px}
.quote .mark{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--gold-3);margin-bottom:8px}
.quote h3{font-size:1.25rem;font-weight:600;color:var(--ink);margin-bottom:4px}
.quote .role{font-size:.688rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mist);margin-bottom:14px}
.quote p{font-size:.94rem}
.pillars{display:grid}
.pillar{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line)}
.pillar:first-child{border-top:none;padding-top:0}
.pillar .num{font-family:'Playfair Display',serif;color:var(--gold-5);font-weight:600;font-size:1.2rem}
.pillar h4{font-size:1.02rem;font-weight:700;color:var(--ink);margin-bottom:6px;font-family:'Public Sans',sans-serif}
.pillar p{font-size:.9rem}

/* ---------- areas grid ---------- */
.areas__grid{display:grid;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.areas__grid.cols-4{grid-template-columns:repeat(4,1fr)}
.areas__grid.cols-6{grid-template-columns:repeat(6,1fr)}
.area{padding:26px 22px;transition:background .2s;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.area:hover{background:rgba(255,255,255,.025)}
.area.lead{background:rgba(230,182,81,.08)}
.area__num{font-family:'Playfair Display',serif;font-size:1rem;color:var(--gold-5);font-weight:600;margin-bottom:12px;display:block}
.area__title{font-weight:700;font-size:.98rem;margin-bottom:8px;color:var(--ink)}
.area__desc{color:var(--muted);font-size:.84rem}
.area__tag{display:inline-block;margin-top:10px;font-size:.594rem;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--gold-2);color:var(--gold-3);padding:3px 9px;font-weight:700}
@media (max-width:900px){.areas__grid.cols-4,.areas__grid.cols-6{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.areas__grid.cols-4,.areas__grid.cols-6{grid-template-columns:1fr}}

/* home team cards — hover/tap flips the card (Y axis) to show the bio */
.teamgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.teamgrid .reveal:nth-child(2){transition-delay:.06s}
.teamgrid .reveal:nth-child(3){transition-delay:.12s}
.teamgrid .reveal:nth-child(4){transition-delay:.18s}
.teamgrid .reveal:nth-child(5){transition-delay:.24s}
.teamgrid .reveal:nth-child(6){transition-delay:.30s}
.teamcard{position:relative;aspect-ratio:4/5;background:var(--bg-2);border:1px solid var(--line);cursor:pointer;perspective:1400px;transition:opacity .55s cubic-bezier(.39,.575,.565,1),transform .55s cubic-bezier(.39,.575,.565,1),border-color .3s}
.teamcard:hover,.teamcard:focus-visible{border-color:var(--gold-2);outline:none}
.teamcard__flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.teamcard:hover .teamcard__flip,.teamcard:focus-within .teamcard__flip,.teamcard.is-open .teamcard__flip{transform:rotateY(180deg)}
.teamcard__face{position:absolute;inset:0;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.teamcard__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.teamcard__name{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 15px;background:linear-gradient(to top,rgba(18,18,20,.94) 12%,rgba(18,18,20,0))}
.teamcard__name h3{font-family:'Playfair Display',serif;font-size:1.02rem;font-weight:600;color:var(--ink);line-height:1.25;margin:0}
.teamcard__name span{display:block;margin-top:5px;font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-5);font-weight:700}
.teamcard__bio{transform:rotateY(180deg);display:flex;flex-direction:column;gap:7px;padding:20px 18px;background:#181a1e;border-top:2px solid var(--gold-flat);overflow-y:auto;overscroll-behavior:contain}
.teamcard__bio h3{font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--ink);margin:0}
.teamcard__oab{font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-5);font-weight:700}
.teamcard__bio p{font-size:.76rem;color:var(--muted);line-height:1.55;margin:0}
@media (max-width:900px){.teamgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.teamgrid{grid-template-columns:1fr;max-width:330px;margin:0 auto}}
@media (prefers-reduced-motion:reduce){.teamcard__flip{transition:none}}

/* anchored sections clear the fixed header */
#equipe,#areas,#escritorio,#contato{scroll-margin-top:96px}

/* full-height sections — each fills one screen like the hero */
.sec.screen{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:110px;padding-bottom:90px}
.sec.screen>.wrap{width:100%}
@media (max-width:640px){.sec.screen{min-height:0;padding-top:80px;padding-bottom:70px}}

/* areas — two rows of icon cards scrolling in opposite directions */
.marquee-stack{display:flex;flex-direction:column;gap:10px;width:100%}
.marquee{position:relative;overflow:hidden;padding:14px 0}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:9%;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(35,36,41,0))}
.marquee::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(35,36,41,0))}
.marquee__track{display:flex;width:max-content}
.marquee[data-dir="left"] .marquee__track{animation:marqueeL 60s linear infinite}
.marquee[data-dir="right"] .marquee__track{animation:marqueeR 60s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__group{display:flex;flex:none;gap:16px;padding-right:16px}
@keyframes marqueeL{to{transform:translateX(-50%)}}
@keyframes marqueeR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.areacard{position:relative;flex:none;width:240px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:26px 20px;background:var(--bg-2);border:1px solid var(--line);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}
.areacard:hover{transform:scale(1.08);border-color:var(--gold-2);background:var(--surface);z-index:1}
.areacard__icon{width:36px;height:36px;color:var(--gold-5);fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.areacard__name{font-family:'Playfair Display',serif;font-size:1.08rem;font-weight:600;color:var(--ink);text-align:center;line-height:1.25}
@media (max-width:520px){.areacard{width:200px;min-height:132px}}
@media (prefers-reduced-motion:reduce){
  .marquee{overflow:visible}
  .marquee::before,.marquee::after{display:none}
  .marquee__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;gap:16px}
  .marquee__group[aria-hidden="true"]{display:none}
}

/* ---------- diferenciais ---------- */
.dif__list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.dif{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
.dif:nth-child(odd){padding-right:30px;border-right:1px solid var(--line)}
.dif:nth-child(even){padding-left:30px}
.dif__num{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold-5);font-weight:600}
.dif h4{font-size:.98rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.dif p{font-size:.87rem}
@media (max-width:700px){.dif__list{grid-template-columns:1fr}.dif:nth-child(odd){padding-right:0;border-right:none}.dif:nth-child(even){padding-left:0}}

/* ---------- compliance ---------- */
.compliance{border:1px solid var(--line-strong);padding:20px 24px;margin-top:50px}
.compliance p{font-size:.82rem;color:var(--muted);line-height:1.6}
.compliance p b{color:var(--gold-3);font-weight:700}

/* ---------- contact ---------- */
.contact__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ccard{background:var(--bg);padding:28px 26px}
.ccard__label{font-size:.656rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-5);margin-bottom:10px;font-weight:700}
.ccard h4{font-size:1.15rem;font-weight:600;color:var(--ink);margin-bottom:8px;font-family:'Playfair Display',serif}
.ccard p{color:var(--muted);font-size:.88rem}
.ccard a.btn{margin-top:16px;padding:10px 20px;font-size:.688rem}
.whatsapp-wide{margin-top:1px;background:var(--bg-2);border:1px solid var(--line);border-top:none;padding:30px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.whatsapp-wide h3{font-size:1.3rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.whatsapp-wide p{color:var(--muted);font-size:.9rem}
@media (max-width:700px){.contact__grid{grid-template-columns:1fr}}

/* ---------- WhatsApp contact form ---------- */
.wform{display:flex;flex-direction:column;gap:16px;max-width:560px;margin:0 auto}
.wform__field{display:flex;flex-direction:column;gap:7px}
.wform__field>span,.wform__field>label{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-5);font-weight:700}
.wform input,.wform textarea{width:100%;background:var(--bg);border:1px solid var(--line-strong);color:var(--ink);font-family:inherit;font-size:.95rem;line-height:1.5;padding:12px 14px;transition:border-color .2s}
.wform textarea{resize:vertical;min-height:96px}
.wform__inputwrap{position:relative}
.wform__field--voice textarea{padding-right:56px}
.wform__mic[hidden]{display:none}
.wform__mic{position:absolute;right:8px;bottom:8px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);background:var(--bg-2);color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.wform__mic svg{width:19px;height:19px}
.wform__mic:hover{color:var(--gold-3);border-color:var(--gold-flat)}
.wform__mic.is-listening{color:#fff;background:#e5484d;border-color:#e5484d;animation:micPulse 1.4s ease-in-out infinite}
@keyframes micPulse{0%{box-shadow:0 0 0 0 rgba(229,72,77,.55)}70%{box-shadow:0 0 0 10px rgba(229,72,77,0)}100%{box-shadow:0 0 0 0 rgba(229,72,77,0)}}
.wform input::placeholder,.wform textarea::placeholder{color:var(--mist)}
.wform input:focus,.wform textarea:focus{outline:none;border-color:var(--gold-flat)}
.wform__err{display:none;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:#ff6b6b}
.wform__field.is-invalid .wform__err{display:block}
.wform__field.is-invalid input,.wform__field.is-invalid textarea{border-color:#ff6b6b}
.wform__btn{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;background:#25d366;color:#fff;border:none;cursor:pointer;padding:14px 24px;font-family:inherit;font-size:.85rem;font-weight:700;letter-spacing:.02em;transition:background .2s,box-shadow .2s}
.wform__btn:hover{background:#1fb457;box-shadow:0 6px 18px rgba(37,211,102,.25)}
.wform__ico{width:20px;height:20px;flex:none}
@media (max-width:520px){.wform__btn{align-self:stretch;justify-content:center}}

/* ---------- footer ---------- */
.footer{padding:48px 0 40px;border-top:1px solid var(--line)}
.footer__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.footer__addr{font-size:.78rem;color:var(--mist);line-height:1.8;margin:0}
.footer__social{display:flex;gap:20px;justify-content:center}
.footer__social a{color:var(--muted);transition:color .2s,transform .2s}
.footer__social svg{width:21px;height:21px;display:block}
.footer__social a:hover{color:var(--gold-5);transform:translateY(-2px)}
.footer__links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px}
.footer__links a,.footer__cookiebtn{font-size:.74rem;color:var(--muted);letter-spacing:.02em;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;transition:color .2s}
.footer__links a:hover,.footer__cookiebtn:hover{color:var(--gold-5)}
.footer__credit{display:inline-flex;align-items:center;gap:9px;margin-top:6px;color:var(--mist);transition:color .25s}
.footer__credit span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.credit__logo{height:15px;width:auto;display:block;shape-rendering:geometricPrecision;fill-rule:evenodd;clip-rule:evenodd}
.credit__logo path{fill:currentColor}

/* utilitários de layout (ex-inline-style, p/ CSP sem 'unsafe-inline') */
.h2--lg{font-size:clamp(2rem,4vw,2.7rem)}
.tac{text-align:center}
.lede--sp1{margin:10px auto 0}
.lede--sp2{margin:22px auto 0}
.lede--sp3{margin:16px auto 0}
.lede--sp4{margin:14px auto 26px;text-align:center}
.sec__foot{text-align:center;margin-top:46px}
.wrap--prose{max-width:780px;text-align:center;margin:0 auto}
.wrap--form{max-width:620px;margin:0 auto}
.mobile-nav .btn-gold{margin-top:10px}
.footer__credit:hover{color:#c8ff2e}

/* cookie bar */
.cookiebar[hidden]{display:none}
.cookiebar{position:fixed;left:16px;right:16px;bottom:16px;z-index:400;max-width:740px;margin:0 auto;
  background:var(--surface);border:1px solid var(--line-strong);padding:16px 18px;
  display:flex;flex-direction:column;gap:14px;box-shadow:0 14px 44px rgba(0,0,0,.45)}
.cookiebar__row{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap}
.cookiebar p{font-size:.8rem;color:var(--muted);line-height:1.6;margin:0;flex:1;min-width:220px}
.cookiebar p a{color:var(--gold-5);text-decoration:underline}
.cookiebar__actions{display:flex;gap:10px;flex:none}
.cookiebar__accept{background:var(--gold-grad);color:#1c1806;border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:.78rem;letter-spacing:.02em;padding:11px 22px}
.cookiebar__ghost{background:none;border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;font-family:inherit;font-weight:600;font-size:.78rem;padding:11px 18px;transition:color .2s,border-color .2s}
.cookiebar__ghost:hover{color:var(--gold-3);border-color:var(--gold-flat)}
.cookiebar__panel[hidden]{display:none}
.cookiebar__panel{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.cookiebar__cat{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.cookiebar__cat strong{display:block;font-size:.82rem;color:var(--ink);font-weight:700;margin-bottom:2px}
.cookiebar__cat span{font-size:.75rem;color:var(--mist);line-height:1.5}
.cookiebar__tag{flex:none;font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;padding:3px 9px;border:1px solid currentColor;white-space:nowrap}
.cookiebar__tag--on{color:var(--gold-5)}
.cookiebar__tag--off{color:var(--mist)}
.cookiebar__cat--toggle{cursor:pointer;align-items:center}
.cookiebar__switch{flex:none;width:42px;height:22px;margin:0;cursor:pointer;accent-color:var(--gold-flat)}
.cookiebar__panelactions{display:flex;justify-content:flex-end;margin-top:2px}
@media (max-width:520px){
  .cookiebar__actions{width:100%}
  .cookiebar__actions button{flex:1}
  .cookiebar__panelactions{justify-content:stretch}
  .cookiebar__panelactions .cookiebar__accept{width:100%}
}

/* legal pages */
.legal .wrap{max-width:760px}
.legal h2{font-size:1.12rem;font-weight:700;color:var(--ink);font-family:'Public Sans',sans-serif;margin:34px 0 10px}
.legal h2:first-child{margin-top:0}
.legal p{font-size:.95rem;color:var(--muted);line-height:1.8;margin-bottom:12px}
.legal p strong{color:var(--ink)}
.legal h3{font-size:.98rem;font-weight:700;color:var(--ink);font-family:'Public Sans',sans-serif;margin:22px 0 8px}
.legal ul{margin:0 0 12px;padding-left:22px}
.legal li{font-size:.95rem;color:var(--muted);line-height:1.75;margin-bottom:6px}
.legal li strong{color:var(--ink)}
.legal a{color:var(--gold-5);text-decoration:underline}
.legal code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:rgba(255,255,255,.06);padding:1px 5px;border-radius:3px;color:var(--ink)}
.legal em{font-style:italic;color:var(--muted)}
.legal__note{margin-top:32px;padding:16px 18px;border:1px solid var(--line-strong);font-size:.85rem;font-style:italic}
.legal__updated{margin-top:26px;text-align:center;font-size:.82rem;letter-spacing:.03em;color:var(--mist)}

/* páginas legais: cabeçalho centralizado (sem eyebrow/travessão) */
.pagehero--center{text-align:center}
.pagehero--center .wrap{max-width:760px}
.pagehero--center .lede{margin-left:auto;margin-right:auto}

/* ---------- reveal ---------- */
/* reveal = slide-up + scale-up combined */
.reveal{opacity:0;transform:translateY(34px) scale(.9);transition:opacity .55s cubic-bezier(.39,.575,.565,1),transform .55s cubic-bezier(.39,.575,.565,1)}
.reveal.visible{opacity:1;transform:translateY(0) scale(1)}

@media (max-width:900px){
  .about__grid{grid-template-columns:1fr;gap:36px}
  .factstrip__grid{grid-template-columns:repeat(2,1fr);row-gap:20px}
  .factstrip__grid>div:nth-child(3){border-left:none}
  .topbar__inner{display:flex;justify-content:space-between}
  .topbar__nav{display:none}
  .topbar__cta{display:none}
  .topbar__right{gap:14px}
  .menu-btn{display:flex}
}
@media (max-width:520px){
  .hero{padding-top:150px}
  .pagehero{padding-top:140px}
  .whatsapp-wide{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .reveal{transition:none;opacity:1;transform:none}
}
