/* ============================================================
   TGT ADVOCACIA — Design System
   Paleta herdada do site atual (tgt.adv.br)
   ============================================================ */
:root{
  /* identidade */
  --gold:        #B8860B;
  --gold-light:  #CD853F;
  --gold-dark:   #8B6914;
  --wine:        #971B2F;
  --charcoal:    #36454F;
  --ivory:       #FFFFF0;
  --pearl:       #F8F6F0;
  --platinum:    #E5E4E2;
  --gray:        #6C6C6C;

  /* aplicação */
  --bg:          var(--pearl);
  --surface:     rgba(255,255,255,.88);
  --surface-2:   rgba(255,255,255,.97);
  --text:        #2B3640;
  --text-dim:    #5A6672;
  --text-mute:   #8A939C;
  --line:        rgba(184,134,11,.26);
  --line-soft:   rgba(54,69,79,.12);
  --shadow:      0 18px 55px -22px rgba(54,69,79,.3);
  --shadow-lg:   0 30px 80px -28px rgba(54,69,79,.42);

  --font-d: 'Playfair Display', Georgia, serif;
  --font-b: 'Raleway', system-ui, sans-serif;

  --max:1240px; --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);font-family:var(--font-b);font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;background:var(--bg)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,h5{font-family:var(--font-d);font-weight:600;line-height:1.16;letter-spacing:-.01em;margin:0}
p{margin:0}
::selection{background:var(--gold);color:#fff}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:24px}
.section{position:relative;padding:118px 0}
@media(max-width:768px){.section{padding:76px 0}}

/* ---------- camadas de fundo ---------- */
#webgl{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.85}
.bg-veil{position:fixed;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse 130% 80% at 50% 40%,rgba(248,246,240,.2) 0%,rgba(248,246,240,.55) 65%,rgba(248,246,240,.78) 100%)}
.nav,main,.foot{position:relative;z-index:4}

.panel{background:var(--surface-2);border:1px solid var(--line);padding:46px 42px;box-shadow:var(--shadow)}
@media(max-width:640px){.panel{padding:32px 24px}}

/* ---------- tipografia de seção ---------- */
.eyebrow{font-family:var(--font-b);font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:12px;margin-bottom:18px}
.eyebrow::before{content:'';width:30px;height:1px;background:var(--gold)}
.s-title{font-size:clamp(30px,4.2vw,50px);font-weight:600;margin-bottom:20px;color:var(--charcoal)}
.s-title em{font-style:italic;color:var(--gold)}
.s-lead{color:var(--text-dim);font-size:17px;max-width:62ch;font-weight:400}
.s-head{margin-bottom:58px;max-width:820px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 32px;font-family:var(--font-b);font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;transition:all .45s var(--ease)}
.btn-gold{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold-dark) 100%);color:#fff;box-shadow:0 10px 28px -12px rgba(184,134,11,.7)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(184,134,11,.85);filter:brightness(1.06)}
.btn-ghost{background:transparent;color:var(--charcoal);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn-light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4);backdrop-filter:blur(6px)}
.btn-light:hover{background:#fff;color:var(--charcoal);transform:translateY(-2px)}
.btn svg{width:15px;height:15px;flex:none}

/* ---------- preloader ---------- */
#preloader{position:fixed;inset:0;z-index:9999;background:var(--pearl);display:grid;place-items:center;transition:opacity .8s var(--ease),visibility .8s}
#preloader.done{opacity:0;visibility:hidden}
.pre-inner{text-align:center;width:min(340px,76vw)}
.pre-logo{position:relative;display:block;margin-bottom:30px;overflow:hidden}
.pre-logo img{width:100%;display:block;animation:logoReveal 1.5s var(--ease) both}
/* brilho dourado que varre o logo depois da revelação */
.pre-logo::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 32%,rgba(184,134,11,.34) 50%,transparent 68%);
  transform:translateX(-130%);
  animation:sheen 2.4s 1.3s var(--ease) infinite;
}
@keyframes logoReveal{
  0%  {opacity:0;clip-path:inset(0 100% 0 0);transform:scale(.97)}
  60% {opacity:1}
  100%{opacity:1;clip-path:inset(0 0 0 0);  transform:none}
}
/* filete dourado que se abre sob o logo */
.pre-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);
  width:0;margin:0 auto 22px;animation:ruleOpen 1s var(--ease) 1.1s forwards}
@keyframes ruleOpen{to{width:100%}}
.pre-bar{height:2px;background:rgba(184,134,11,.18);overflow:hidden}
.pre-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-light));transition:width .3s linear}
.pre-txt{font-size:10px;font-weight:600;letter-spacing:.26em;color:var(--text-mute);margin-top:16px;text-transform:uppercase;
  opacity:0;animation:fadeIn .9s var(--ease) 1.5s forwards}
@keyframes fadeIn{to{opacity:1}}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:1000;padding:20px 0;transition:background .5s var(--ease),padding .5s var(--ease),box-shadow .5s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(248,246,240,.96);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);padding:11px 0;border-bottom-color:var(--line);box-shadow:0 6px 26px -14px rgba(54,69,79,.3)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px}

/* logo troca conforme o fundo: negativo sobre o hero, oficial ao rolar.
   aspect-ratio dá largura ao container — sem isso os filhos absolutos
   colapsam o <a> para 0px e o logo some. */
.brand{
  flex:none;display:block;position:relative;height:52px;
  aspect-ratio:835/341;                 /* proporção do arquivo do logo */
  transition:height .5s var(--ease);
  opacity:0;animation:brandIn 1.1s var(--ease) .35s forwards;
}
.brand img{position:absolute;left:0;top:0;height:100%;width:auto;transition:opacity .45s var(--ease)}
.brand .logo-pos{opacity:0}
.nav.scrolled .brand{height:40px}
.nav.scrolled .brand .logo-neg{opacity:0}
.nav.scrolled .brand .logo-pos{opacity:1}

/* brilho dourado percorrendo o logo ao passar o mouse */
.brand::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.5) 50%,transparent 66%);
  transform:translateX(-130%);opacity:0;
}
.brand:hover::after{animation:sheen 1.1s var(--ease)}
.nav.scrolled .brand::after{background:linear-gradient(105deg,transparent 34%,rgba(184,134,11,.3) 50%,transparent 66%)}
@keyframes sheen{0%{transform:translateX(-130%);opacity:1}100%{transform:translateX(130%);opacity:1}}
@keyframes brandIn{
  from{opacity:0;transform:translateX(-16px);clip-path:inset(0 100% 0 0)}
  to  {opacity:1;transform:none;         clip-path:inset(0 0 0 0)}
}
@media(max-width:600px){.brand{height:36px}.nav.scrolled .brand{height:30px}}

.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav-links a{font-size:13px;font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.86);position:relative;padding:6px 0;transition:color .35s;text-transform:uppercase}
.nav.scrolled .nav-links a{color:var(--text-dim)}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--gold);transition:width .45s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav.scrolled .nav-links a:hover,.nav.scrolled .nav-links a.active{color:var(--gold)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{flex:none}
.nav-burger{display:none;background:none;border:0;cursor:pointer;padding:8px;flex:none}
.nav-burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:.4s var(--ease)}
.nav.scrolled .nav-burger span{background:var(--charcoal)}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1150px){
  .nav-burger{display:block}.nav-cta{display:none}
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(340px,84vw);background:var(--pearl);border-left:1px solid var(--line);box-shadow:-20px 0 60px -30px rgba(54,69,79,.5);flex-direction:column;justify-content:center;gap:4px;padding:40px;transform:translateX(100%);transition:transform .55s var(--ease)}
  .nav-links.open{transform:none}
  .nav-links a,.nav.scrolled .nav-links a{font-size:16px;font-family:var(--font-d);text-transform:none;letter-spacing:0;padding:13px 0;display:block;color:var(--charcoal)}
  .nav-burger.open span{background:var(--charcoal)}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(120deg,rgba(54,69,79,.9) 0%,rgba(54,69,79,.76) 48%,rgba(54,69,79,.55) 100%),
             linear-gradient(to bottom,transparent 62%,rgba(248,246,240,.96) 99%)}
.hero-in{position:relative;z-index:5;width:100%;padding:150px 0 100px;color:#fff}
.hero-tag{display:inline-flex;align-items:center;gap:12px;padding:8px 20px;border:1px solid rgba(255,255,255,.28);border-radius:100px;margin-bottom:30px;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory);background:rgba(255,255,255,.08)}
.hero-tag i{width:6px;height:6px;border-radius:50%;background:var(--gold-light);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(205,133,63,.7)}50%{opacity:.55;box-shadow:0 0 0 8px rgba(205,133,63,0)}}
.hero h1{font-size:clamp(38px,6.2vw,76px);font-weight:500;line-height:1.1;margin-bottom:26px;max-width:17ch;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.hero h1 em{font-style:italic;color:var(--gold-light);display:block}
.hero-lead{font-size:clamp(15.5px,1.6vw,18.5px);color:rgba(255,255,255,.86);font-weight:400;max-width:56ch;margin-bottom:42px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:72px}
.hero-stats{display:flex;gap:54px;flex-wrap:wrap;padding-top:32px;border-top:1px solid rgba(255,255,255,.22)}
.hstat b{display:block;font-family:var(--font-d);font-size:clamp(30px,3.4vw,44px);font-weight:600;color:var(--gold-light);line-height:1}
.hstat span{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:9px;display:block}
@media(max-width:768px){.hero-stats{gap:26px}.hero-actions{margin-bottom:46px}}
.scroll-cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:9px;font-weight:600;letter-spacing:.26em;color:rgba(255,255,255,.55);text-transform:uppercase}
.scroll-cue i{display:block;width:1px;height:50px;background:linear-gradient(to bottom,var(--gold-light),transparent);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:768px){.scroll-cue{display:none}}

/* ---------- ticker ---------- */
.ticker{border-block:1px solid var(--line);background:rgba(255,255,255,.72);padding:22px 0;overflow:hidden;position:relative;z-index:4}
.ticker-row{display:flex;gap:64px;width:max-content;animation:slide 36s linear infinite}
.ticker:hover .ticker-row{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.ticker-item{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-mute);white-space:nowrap;transition:color .4s}
.ticker-item:hover{color:var(--gold)}
.ticker-item::before{content:'';width:5px;height:5px;background:var(--gold);transform:rotate(45deg);opacity:.8}

/* ---------- sobre ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:960px){.about-grid{grid-template-columns:1fr;gap:44px}}
.about-body p{color:var(--text-dim);margin-bottom:18px;font-size:16.5px}
.about-body p strong{color:var(--charcoal);font-weight:600}
.about-sign{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.about-sign b{font-family:var(--font-d);font-size:16px;font-weight:600;color:var(--gold);display:block;font-style:italic}
.about-sign span{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute)}
.video-frame{position:relative;border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow-lg);background:#fff}
.video-frame video{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.video-play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:rgba(54,69,79,.34);border:0;cursor:pointer;transition:opacity .5s}
.video-play.hide{opacity:0;pointer-events:none}
.video-play i{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:19px;font-style:normal;transition:.5s var(--ease);background:linear-gradient(135deg,var(--gold),var(--gold-dark));box-shadow:0 12px 34px -10px rgba(184,134,11,.8)}
.video-play:hover i{transform:scale(1.1)}
.video-cap{position:absolute;left:20px;bottom:16px;z-index:3;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.9)}

/* ---------- métricas ---------- */
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);box-shadow:var(--shadow)}
@media(max-width:860px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}
.metric{background:var(--surface-2);padding:48px 24px;text-align:center;transition:background .5s}
.metric:hover{background:#fff}
.metric b{display:block;font-family:var(--font-d);font-size:clamp(34px,4.4vw,52px);font-weight:600;line-height:1;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold-dark) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.metric span{display:block;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);margin-top:13px;line-height:1.6}

/* ---------- áreas ---------- */
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);box-shadow:var(--shadow)}
@media(max-width:1000px){.areas-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.areas-grid{grid-template-columns:1fr}}
.area{background:var(--surface-2);padding:42px 32px;position:relative;cursor:pointer;transition:background .5s var(--ease);display:flex;flex-direction:column;text-align:left;border:0;font:inherit;color:inherit}
.area::before{content:'';position:absolute;left:0;top:0;width:3px;height:0;background:linear-gradient(180deg,var(--gold),var(--wine));transition:height .55s var(--ease)}
.area:hover{background:#fff}
.area:hover::before{height:100%}
.area-num{font-family:var(--font-d);font-size:13px;font-style:italic;color:var(--gold);opacity:.6;margin-bottom:18px}
.area-ico{width:36px;height:36px;color:var(--gold);margin-bottom:20px;transition:transform .55s var(--ease)}
.area:hover .area-ico{transform:translateY(-4px) scale(1.08)}
.area h3{font-size:21px;font-weight:600;margin-bottom:7px;color:var(--charcoal)}
.area-cat{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:15px;display:block}
.area p{font-size:14.5px;color:var(--text-dim);line-height:1.75;flex:1}
.area-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.area-tags span{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);border:1px solid var(--line);background:rgba(184,134,11,.06);padding:4px 9px}
.area-open{margin-top:20px;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:9px}
.area-open svg{width:13px;height:13px;transition:transform .45s var(--ease)}
.area:hover .area-open svg{transform:translateX(5px)}

/* ---------- processo ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);box-shadow:var(--shadow)}
@media(max-width:1000px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.step{background:var(--surface-2);padding:44px 26px;text-align:center;transition:background .5s}
.step:hover{background:#fff}
.step-dot{width:56px;height:56px;margin:0 auto 20px;border-radius:50%;border:1px solid var(--line);color:var(--gold);display:grid;place-items:center;font-family:var(--font-d);font-size:17px;font-weight:600;transition:.55s var(--ease)}
.step:hover .step-dot{background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-color:transparent;color:#fff;transform:scale(1.08);box-shadow:0 12px 30px -10px rgba(184,134,11,.7)}
.step h4{font-size:18px;font-weight:600;margin-bottom:10px;color:var(--charcoal)}
.step p{font-size:14px;color:var(--text-dim);line-height:1.72}

/* ---------- escritórios ---------- */
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:960px){.offices{grid-template-columns:1fr}}
.office{border:1px solid var(--line);padding:38px 32px;background:var(--surface-2);transition:.5s var(--ease);box-shadow:var(--shadow)}
.office:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);background:#fff}
.office-badge{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--gold),var(--gold-dark));padding:5px 12px;display:inline-block;margin-bottom:20px}
.office-badge.alt{background:transparent;color:var(--gold-dark);border:1px solid var(--line)}
.office h4{font-size:25px;font-weight:600;margin-bottom:4px;color:var(--charcoal)}
.office .uf{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;display:block}
.office dl{margin:0;display:grid;gap:15px}
.office dt{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);margin-bottom:4px}
.office dd{margin:0;font-size:14.5px;color:var(--text-dim);line-height:1.66}
.office dd a:hover{color:var(--gold)}

/* ---------- equipe ---------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:1000px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}}
.member{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;padding:0;text-align:left;font:inherit;color:inherit;display:block;transition:.5s var(--ease);box-shadow:var(--shadow)}
.member:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.member-img{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--platinum)}
.member-img img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(.85) contrast(1.02);transition:1s var(--ease)}
.member:hover .member-img img{filter:grayscale(0);transform:scale(1.05)}
.member-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(255,255,255,.96) 2%,rgba(255,255,255,.15) 32%,transparent 60%)}
.member-info{padding:20px 24px 26px}
.member h4{font-size:17px;font-weight:600;margin-bottom:5px;line-height:1.3;color:var(--charcoal)}
.member .role{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.member .oab{font-size:12.5px;color:var(--text-mute);margin-top:9px}
.member .see{margin-top:15px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:8px;opacity:.7;transition:opacity .4s}
.member:hover .see{opacity:1}
.member .see svg{width:12px;height:12px}

/* ---------- notícias ---------- */
.news-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px;flex-wrap:wrap}
.news-filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:9px 20px;border:1px solid var(--line);background:rgba(255,255,255,.8);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);cursor:pointer;transition:.4s var(--ease)}
.chip:hover{color:var(--gold);border-color:var(--gold)}
.chip.on{background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-color:transparent;color:#fff}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:1000px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.news-grid{grid-template-columns:1fr}}
.post{border:1px solid var(--line);background:var(--surface-2);overflow:hidden;display:flex;flex-direction:column;transition:.5s var(--ease);box-shadow:var(--shadow);animation:fadeUp .6s var(--ease) both}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.post-img{aspect-ratio:16/10;overflow:hidden;position:relative;display:block;background:var(--platinum)}
.post-img img{width:100%;height:100%;object-fit:cover;transition:1s var(--ease)}
.post:hover .post-img img{transform:scale(1.07)}
.post-cat{position:absolute;left:16px;top:16px;z-index:2;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:5px 12px}
.post-body{padding:24px 24px 28px;flex:1;display:flex;flex-direction:column}
.post-date{font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--text-mute);text-transform:uppercase;margin-bottom:12px}
.post h4{font-size:18px;font-weight:600;line-height:1.4;margin-bottom:11px;color:var(--charcoal);transition:color .4s}
.post:hover h4{color:var(--gold)}
.post p{font-size:14px;color:var(--text-dim);line-height:1.72;flex:1}
.post-link{margin-top:20px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:9px}
.post-link svg{width:13px;height:13px;transition:transform .45s var(--ease)}
.post:hover .post-link svg{transform:translateX(5px)}
.news-empty{grid-column:1/-1;text-align:center;padding:70px 20px;color:var(--text-mute)}
.news-foot{margin-top:42px;text-align:center}
.datanote{margin-top:42px;border:1px dashed rgba(184,134,11,.45);background:rgba(184,134,11,.05);padding:22px 26px;display:flex;gap:16px;align-items:flex-start}
.datanote svg{width:19px;height:19px;color:var(--gold);flex:none;margin-top:3px}
.datanote p{font-size:13.5px;color:var(--text-dim);line-height:1.72}
.datanote code{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--wine);background:rgba(151,27,47,.08);padding:2px 7px}

/* ---------- carreiras ---------- */
.career-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;margin-bottom:64px}
@media(max-width:960px){.career-grid{grid-template-columns:1fr;gap:42px}}
.career-photo{position:relative;border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow-lg)}
.career-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:1.2s var(--ease)}
.career-photo:hover img{transform:scale(1.04)}
.career-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(54,69,79,.62),transparent 52%);pointer-events:none}
.career-photo figcaption{position:absolute;left:24px;bottom:18px;z-index:2;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.92)}
.career-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px;box-shadow:var(--shadow)}
.career-stats div{background:var(--surface-2);padding:24px 18px;text-align:center}
.career-stats b{display:block;font-family:var(--font-d);font-size:29px;font-weight:600;color:var(--gold);line-height:1}
.career-stats span{display:block;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);margin-top:8px;line-height:1.55}
.values{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:11px}
.values li{font-size:15px;color:var(--text-dim);padding-left:24px;position:relative}
.values li::before{content:'';position:absolute;left:0;top:10px;width:7px;height:7px;background:linear-gradient(135deg,var(--gold),var(--wine));transform:rotate(45deg)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:52px;box-shadow:var(--shadow)}
@media(max-width:800px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--surface-2);padding:38px 30px;transition:background .5s}
.pillar:hover{background:#fff}
.pillar svg{width:30px;height:30px;color:var(--gold);margin-bottom:16px}
.pillar h4{font-size:18px;font-weight:600;margin-bottom:9px;color:var(--charcoal)}
.pillar p{font-size:14px;color:var(--text-dim);line-height:1.72}
.cta-in{border:1px solid var(--line);padding:68px 54px;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(184,134,11,.06) 0%,rgba(151,27,47,.07) 100%),var(--surface-2);box-shadow:var(--shadow-lg)}
.cta-in>*{position:relative;z-index:2}
.cta-in h2{font-size:clamp(26px,3.6vw,42px);font-weight:600;margin-bottom:16px;color:var(--charcoal)}
.cta-in h2 em{font-style:italic;color:var(--gold)}
.cta-in p{color:var(--text-dim);max-width:58ch;margin:0 auto 32px}
@media(max-width:640px){.cta-in{padding:46px 24px}}

/* ---------- contato ---------- */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px}
@media(max-width:960px){.contact-grid{grid-template-columns:1fr;gap:42px}}
.contact-list{display:grid;gap:24px;margin-top:34px}
.cline{display:flex;gap:18px;align-items:flex-start}
.cline svg{width:20px;height:20px;color:var(--gold);flex:none;margin-top:3px}
.cline dt{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);margin-bottom:4px}
.cline dd{margin:0;font-size:15px;color:var(--text-dim)}
.cline dd a:hover{color:var(--gold)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute)}
.field input,.field select,.field textarea{background:#fff;border:1px solid var(--line-soft);padding:14px 16px;font-size:15px;font-family:var(--font-b);color:var(--text);transition:.35s var(--ease);width:100%}
.field textarea{resize:vertical;min-height:128px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,134,11,.12)}
.field input::placeholder,.field textarea::placeholder{color:#AEB5BC}
.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23B8860B' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:15px;padding-right:44px}
.form-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:4px}
.form-note{font-size:12.5px;color:var(--text-mute);max-width:38ch}
.form-msg{grid-column:1/-1;padding:15px 18px;font-size:14px;display:none}
.form-msg.ok{display:block;background:rgba(184,134,11,.09);border:1px solid rgba(184,134,11,.35);color:var(--gold-dark)}
.form-msg.err{display:block;background:rgba(176,42,42,.07);border:1px solid rgba(176,42,42,.32);color:#8E2020}
.form-msg.wait{display:block;background:rgba(20,23,26,.05);border:1px solid rgba(20,23,26,.14);color:var(--text-mute)}
/* botão desabilitado enquanto o envio está em curso */
.btn[disabled]{opacity:.55;pointer-events:none}
/* campo isca do anti-spam: fora da tela e fora da navegação por teclado */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- dropzone ---------- */
.drop{border:1.5px dashed rgba(184,134,11,.45);background:rgba(184,134,11,.04);padding:30px 22px;text-align:center;cursor:pointer;transition:.4s var(--ease)}
.drop:hover,.drop.over{border-color:var(--gold);background:rgba(184,134,11,.09)}
.drop svg{width:30px;height:30px;color:var(--gold);margin:0 auto 12px}
.drop b{display:block;font-family:var(--font-d);font-size:15px;font-weight:600;margin-bottom:5px;color:var(--charcoal)}
.drop span{font-size:12.5px;color:var(--text-mute)}
.drop.filled b{color:var(--gold)}

/* ---------- rodapé ---------- */
.foot{background:var(--charcoal);color:rgba(255,255,255,.72);padding:68px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px;margin-bottom:48px}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-brand img{height:58px;width:auto;margin-bottom:20px}
.foot-brand p{font-size:14px;color:rgba(255,255,255,.6);max-width:40ch;line-height:1.78}
.foot-princ{margin-top:18px;font-size:13px;color:rgba(255,255,255,.6);line-height:1.7}
.foot-princ b{color:var(--gold-light);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:6px}
.foot h5{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:20px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.foot ul a,.foot ul li{font-size:14px;color:rgba(255,255,255,.6);transition:color .35s}
.foot ul a:hover{color:var(--gold-light)}
.foot-bar{padding-top:26px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.45)}

/* ============================================================
   MODAL
   ============================================================ */
.modal{position:fixed;inset:0;z-index:2000;display:none;align-items:flex-start;justify-content:center;padding:24px}
.modal.on{display:flex}
.modal-bg{position:absolute;inset:0;background:rgba(54,69,79,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:mfade .4s var(--ease)}
@keyframes mfade{from{opacity:0}to{opacity:1}}
.modal-box{position:relative;z-index:2;width:min(940px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--pearl);border:1px solid var(--line);margin:auto;animation:mup .55s var(--ease);box-shadow:0 40px 100px -30px rgba(54,69,79,.6)}
@keyframes mup{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.modal-box::-webkit-scrollbar{width:9px}
.modal-box::-webkit-scrollbar-track{background:var(--platinum)}
.modal-box::-webkit-scrollbar-thumb{background:rgba(184,134,11,.45)}
.modal-close{position:sticky;top:0;float:right;margin:14px 14px 0 0;z-index:5;width:42px;height:42px;border:1px solid var(--line);background:#fff;color:var(--text-dim);cursor:pointer;display:grid;place-items:center;transition:.4s var(--ease)}
.modal-close:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:rotate(90deg)}
.modal-close svg{width:16px;height:16px}

.mh{padding:46px 52px 32px;border-bottom:1px solid var(--line);background:#fff}
@media(max-width:640px){.mh{padding:34px 24px 24px}}
.mh .eyebrow{margin-bottom:12px}
.mh h2{font-size:clamp(26px,3.4vw,38px);font-weight:600;margin-bottom:14px;color:var(--charcoal)}
.mh h2 em{font-style:italic;color:var(--gold)}
.mh p{color:var(--text-dim);font-size:15.5px;line-height:1.78}
.mbody{padding:10px 52px 48px}
@media(max-width:640px){.mbody{padding:6px 24px 36px}}
.topic{border-bottom:1px solid var(--line);padding:30px 0}
.topic:last-child{border-bottom:0;padding-bottom:6px}
.topic-h{display:flex;align-items:baseline;gap:14px;margin-bottom:4px}
.topic-n{font-family:var(--font-d);font-size:14px;font-style:italic;color:var(--gold);opacity:.7;flex:none}
.topic h4{font-size:20px;font-weight:600;color:var(--charcoal)}
.topic .sub{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 12px 30px;display:block}
.topic .desc{color:var(--text-dim);font-size:15px;line-height:1.8;margin-left:30px}
.topic ul{list-style:none;margin:16px 0 0 30px;padding:0;display:grid;gap:9px}
.topic li{font-size:14px;color:var(--text-dim);line-height:1.7;padding-left:22px;position:relative}
.topic li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--gold);transform:rotate(45deg);opacity:.85}
@media(max-width:640px){.topic .sub,.topic .desc,.topic ul{margin-left:0}}

.bio{display:grid;grid-template-columns:300px 1fr;gap:0;background:#fff}
@media(max-width:760px){.bio{grid-template-columns:1fr}}
.bio-photo{position:relative;background:var(--platinum)}
.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;aspect-ratio:3/4}
@media(max-width:760px){.bio-photo img{aspect-ratio:16/10;object-position:center 20%}}
.bio-info{padding:46px 44px}
@media(max-width:640px){.bio-info{padding:32px 24px}}
.bio-info h2{font-size:clamp(23px,2.8vw,31px);font-weight:600;margin-bottom:8px;line-height:1.22;color:var(--charcoal)}
.bio-role{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:24px}
.bio-reg{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.bio-reg span{font-size:11.5px;font-weight:600;color:var(--text-dim);border:1px solid var(--line);padding:7px 13px;background:rgba(184,134,11,.05)}
.bio-mail{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--text-dim);margin-bottom:28px;transition:color .35s}
.bio-mail:hover{color:var(--gold)}
.bio-mail svg{width:17px;height:17px;color:var(--gold)}
.bio-h5{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;padding-top:24px;border-top:1px solid var(--line)}
.bio-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.bio-list li{padding-left:24px;position:relative}
.bio-list li::before{content:'';position:absolute;left:0;top:10px;width:7px;height:7px;background:linear-gradient(135deg,var(--gold),var(--wine));transform:rotate(45deg)}
.bio-list b{display:block;font-family:var(--font-d);font-size:16px;font-weight:600;margin-bottom:2px;color:var(--charcoal)}
.bio-list span{font-size:13.5px;color:var(--text-mute)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:.1s}.rv[data-d="2"]{transition-delay:.2s}
.rv[data-d="3"]{transition-delay:.3s}.rv[data-d="4"]{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}.rv{opacity:1;transform:none}
}
