@font-face{font-family:"Archivo";src:url("fonts/archivo-var.woff2") format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("fonts/archivo-italic-var.woff2") format("woff2-variations");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-var.woff2") format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-italic-var.woff2") format("woff2-variations");font-weight:200 800;font-style:italic;font-display:swap}
:root{--navy:#0B2D3A;--navy-2:#0F3644;--teal:#028576;--teal-br:#12C0A8;--orange:#E87722;
--paper:#EDF1F1;--paper-2:#E2E8E7;--muted:#5F7985;--line:rgba(11,45,58,.15);--line-d:rgba(237,241,241,.14);
--sans:"Archivo","Helvetica Neue",Arial,sans-serif;--serif:"Newsreader",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--serif);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-family:var(--sans);font-weight:600;letter-spacing:-.022em;line-height:1.12}
p{margin:0 0 1em}a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.rail{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:56px}
.rail-label{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--muted);padding-top:.55em}
section{padding:96px 0;border-top:1px solid var(--line)}
h2{font-size:clamp(1.75rem,2.9vw,2.4rem);margin-bottom:22px;max-width:23ch}
h3{font-size:19px}
.lede{font-size:19px;max-width:64ch;color:#3E5E6B}
.narrow{max-width:66ch}
/* nav */
.nav{position:sticky;top:0;z-index:60;background:var(--navy);color:var(--paper)}
.nav-in{display:flex;align-items:center;gap:26px;height:86px}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--sans);font-weight:700;font-size:18px;letter-spacing:-.03em;white-space:nowrap}
.mark img{height:40px}
.mark .tl{font-family:var(--sans);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.17em;color:#AEC4CA;padding-left:14px;border-left:1px solid var(--line-d);white-space:nowrap}
.nav-links{display:flex;gap:24px;margin-left:auto;font-family:var(--sans);font-size:15px}
.nav-links a{text-decoration:none;opacity:.82;padding:3px 0;border-bottom:1px solid transparent}
.nav-links a:hover,.nav-links a.on{opacity:1;border-bottom-color:var(--teal-br)}
.lang{display:flex;border:1px solid var(--line-d);border-radius:2px;overflow:hidden}
.lang a{font-family:var(--sans);font-size:13px;font-weight:500;color:#AEC4CA;padding:7px 10px;text-decoration:none;border-right:1px solid var(--line-d)}
.lang a:last-child{border-right:0}.lang a.on{background:var(--teal);color:#fff}
/* hero */
.hero{background:var(--navy);color:var(--paper);padding:92px 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:60px;align-items:center}
.hero h1{font-size:clamp(2.3rem,4.3vw,3.5rem);font-weight:700;letter-spacing:-.035em;margin-bottom:24px}
.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:300}
.hero p{font-size:19px;color:#D3DEE0;max-width:44ch}
.hero-foot{margin-top:54px;padding:20px 0;border-top:1px solid var(--line-d);font-family:var(--sans);font-size:13.5px;color:#93ACB4;display:flex;gap:22px;flex-wrap:wrap}
.lattice{width:100%;height:380px;display:block}
/* page head */
.phead{background:var(--navy);color:var(--paper);padding:78px 0 64px}
.phead h1{font-size:clamp(2.1rem,3.8vw,3rem);font-weight:700;letter-spacing:-.03em;margin-bottom:18px;max-width:20ch}
.phead p{font-size:19px;color:#D3DEE0;max-width:58ch;margin:0}
.kicker{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--teal-br);letter-spacing:.06em;margin-bottom:14px}
/* dark section */
.dark{background:var(--navy);color:var(--paper);border-top:0}
.dark h2{color:#fff}.dark .lede{color:#D3DEE0}.dark .rail-label{color:#A0B8BF}
.stack{margin-top:30px;border-top:1px solid var(--line-d)}
.layer{display:grid;grid-template-columns:20px minmax(0,4fr) minmax(0,7fr);gap:22px;padding:20px 0;border-bottom:1px solid var(--line-d);align-items:baseline}
.bar{width:6px;height:34px;align-self:center;background:var(--teal)}
.layer:nth-child(2) .bar{background:var(--teal-br)}.layer:nth-child(3) .bar{background:#4FD6C4}
.layer:nth-child(4) .bar{background:#A0B8BF}.layer:nth-child(5) .bar{background:var(--orange)}
.layer h3{color:#fff;font-size:18px}.layer p{margin:0;font-size:16px;color:#BBD0D5}
.note{margin-top:26px;font-size:17px;color:#D3DEE0;max-width:58ch;border-left:2px solid var(--orange);padding-left:18px}
/* rows */
.rows{border-top:1px solid var(--line);margin-top:28px}
.row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.row h3{font-size:20px}.row p{margin:0;font-size:16.5px;color:#4A6672}
.tag{font-family:var(--sans);font-size:12.5px;color:var(--muted);display:block;margin-top:6px}
/* cards */
.card{border:1px solid var(--line);background:var(--paper);padding:28px}
.grid2{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:start}
.people{display:grid;gap:0;border-top:1px solid var(--line);margin-top:28px}
.person{padding:26px 0;border-bottom:1px solid var(--line)}
.person h3{font-size:20px;margin-bottom:2px}
.person .role{font-family:var(--sans);font-size:14px;color:var(--teal);margin-bottom:10px}
.person p{margin:0;font-size:16.5px;color:#4A6672;max-width:74ch}
/* posts */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:30px}
.post{text-decoration:none;display:block}
.post-rule{height:2px;background:var(--navy);margin-bottom:13px}
.post-date{font-family:var(--sans);font-size:13px;color:var(--muted);display:block;margin-bottom:8px}
.post h3{font-size:19px;line-height:1.28;margin-bottom:8px}
.post:hover h3{color:var(--teal)}
.post p{font-size:16px;color:#4A6672;margin:0}
.pod{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:center;background:var(--navy);color:var(--paper);padding:34px;margin-top:28px}
.pod h3{font-size:25px;color:#fff;margin-bottom:10px}.pod p{color:#BBD0D5;font-size:16.5px}
.btn{display:inline-block;font-family:var(--sans);font-size:15px;font-weight:500;background:var(--teal);color:#fff;padding:12px 22px;border-radius:2px;text-decoration:none}
.btn:hover{background:var(--teal-br);color:var(--navy)}
.waves{display:flex;align-items:flex-end;gap:3px;height:86px}
.waves span{flex:1;background:var(--teal-br);opacity:.55;border-radius:1px}
/* article */
.article{max-width:none}
.article-body{max-width:68ch;font-size:18px;line-height:1.72}
.article-body h2{font-size:1.5rem;margin:40px 0 14px;max-width:none}
.article-body p{margin-bottom:1.15em}
.refs{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.refs li{margin-bottom:7px}
/* form */
.form{display:grid;gap:15px;max-width:460px;margin-top:26px}
.field label{display:block;font-family:var(--sans);font-size:14px;color:#AEC4CA;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;background:var(--navy-2);border:1px solid var(--line-d);color:#fff;font-family:var(--sans);font-size:16px;padding:12px 14px;border-radius:2px}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--teal-br);outline-offset:-1px}
.check{display:flex;gap:10px;align-items:flex-start;font-family:var(--sans);font-size:14px;color:#AEC4CA;line-height:1.45}
.check input{width:16px;height:16px;margin-top:2px;flex:0 0 auto}
.fineprint{font-family:var(--sans);font-size:13px;color:#A0B8BF;max-width:460px}
.fineprint a{color:var(--teal-br)}
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:8px}
.contacts h3{font-size:17px;color:#fff;margin-bottom:8px}
.contacts p{font-size:16px;color:#D3DEE0;margin:0}
.contacts a{color:var(--teal-br);text-decoration:none}
/* legal */
.legal{font-size:16.5px;max-width:70ch}
.legal h2{font-size:1.35rem;margin:36px 0 12px;max-width:none}
.legal ul{padding-left:20px}.legal li{margin-bottom:6px}
.todo{background:#FCEFE2;border-left:3px solid var(--orange);padding:12px 16px;font-family:var(--sans);font-size:14px;color:#8A4A12;margin:18px 0}
/* footer */
footer{background:var(--navy);color:#93ACB4;padding:44px 0 46px;font-family:var(--sans);font-size:14px}
.foot{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;border-top:1px solid var(--line-d);padding-top:26px}
.foot>div{min-width:0}
.foot a{display:inline-block}
.foot a{color:#AEC4CA;text-decoration:none;margin-right:18px}.foot a:hover{color:var(--teal-br)}
@media (max-width:920px){
.wrap{padding:0 20px}.rail,.hero-grid,.grid2,.pod,.contacts{grid-template-columns:1fr;gap:32px}
.posts{grid-template-columns:1fr;gap:30px}.row{grid-template-columns:1fr;gap:10px}
.layer{grid-template-columns:20px 1fr;gap:14px}.layer p{grid-column:2}
.nav-links{display:none}.mark .tl{display:none}.nav-in{height:72px}section{padding:64px 0}.hero{padding:60px 0 0}.lattice{height:250px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
/* ---- blocos visuais (v2) ---- */
.diagram{width:100%;height:auto;display:block;margin:4px 0 26px}
.fn{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d);margin-top:28px}
.fn div{background:var(--navy-2);padding:20px 18px}
.fn h3{font-size:15px;color:var(--teal-br);margin-bottom:7px}
.fn p{margin:0;font-size:15px;color:#BBD0D5;line-height:1.5}
.attrs{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:30px}
.attrs h3{font-size:17px;color:#fff;margin-bottom:5px}
.attrs p{margin:0;font-size:15.5px;color:#BBD0D5}
.qgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
.q{background:var(--paper);padding:26px 24px;display:flex;flex-direction:column;gap:16px;min-height:150px}
.q h3{font-size:19px;line-height:1.32;font-weight:600}
.q .tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.q .tags span{font-family:var(--sans);font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:2px;color:#fff;white-space:nowrap}
.a-tend{background:#12A896}.a-set{background:#028576}.a-an{background:#0B2D3A}.a-marca{background:#4C6D79}
.a-pes{background:#0A5A72}
.a-estr{background:#E87722}.a-letr{background:#B55C1C}.a-coc{background:#8A4A12}
.legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;font-family:var(--sans);font-size:13px;color:var(--muted)}
.legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:7px;vertical-align:-1px;font-style:normal}
@media (max-width:920px){.fn,.attrs,.qgrid{grid-template-columns:1fr}}
.q .tags a{font-family:var(--sans);font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:2px;color:#fff;white-space:nowrap;text-decoration:none;display:inline-block}
.q .tags a:hover{filter:brightness(1.15);text-decoration:underline}
.rows h3[id]{scroll-margin-top:110px}
.rows h3[id]:target{color:var(--teal)}
.legend{margin:18px 0 4px}
.legend a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;padding:3px 0;border-bottom:1px solid transparent}
.legend a:hover{color:var(--navy);border-bottom-color:var(--line)}
section[id^="a-"]{scroll-margin-top:90px}
.person{display:grid;grid-template-columns:92px minmax(0,1fr);gap:24px;align-items:start}
.person img{width:92px;height:92px;border-radius:50%;display:block;background:var(--teal)}
.person .pbody{min-width:0}
@media (max-width:560px){.person{grid-template-columns:68px minmax(0,1fr);gap:16px}.person img{width:68px;height:68px}}
.rail-label i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:8px;vertical-align:-1px;font-style:normal}
section[id^="a-"] .rows{border-top-width:3px;border-top-style:solid}
#a-tendencias .rows{border-top-color:#12A896}
#a-setorial .rows{border-top-color:#028576}
#a-analytics .rows{border-top-color:#0B2D3A}
#a-marca-sec .rows{border-top-color:#4C6D79}
#a-estrategia .rows{border-top-color:#E87722}
#a-letramento .rows{border-top-color:#B55C1C}
#a-cocriacao .rows{border-top-color:#8A4A12}
.people.lg .person{grid-template-columns:132px minmax(0,1fr);gap:30px}
.people.lg .person img{width:132px;height:132px}
@media (max-width:560px){.people.lg .person{grid-template-columns:92px minmax(0,1fr);gap:18px}.people.lg .person img{width:92px;height:92px}}
/* assinatura de artigo */
.byline{display:flex;align-items:center;gap:14px;margin:26px 0 0}
.byline img{width:52px;height:52px;border-radius:50%;background:var(--teal)}
.byline div{font-family:var(--sans);font-size:14px;line-height:1.4}
.byline strong{display:block;font-size:15px;color:var(--navy)}
.byline span{color:var(--muted)}
.phead .byline strong{color:#fff}.phead .byline span{color:#A0B8BF}
.lp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start}
.lp-cover{border:1px solid var(--line-d);box-shadow:0 18px 44px rgba(0,0,0,.28);width:100%;display:block}
.lp ul{list-style:none;padding:0;margin:0 0 26px}
.lp ul li{padding:11px 0;border-top:1px solid var(--line-d);font-family:var(--sans);font-size:15.5px;color:#BBD0D5}
@media (max-width:920px){.lp{grid-template-columns:1fr;gap:34px}}
a.row:hover h3{color:var(--teal)}
.person .li{display:inline-block;margin-top:10px;font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--teal);text-decoration:none;border-bottom:1px solid transparent}
.person .li:hover{border-bottom-color:var(--teal)}

/* ---- famílias de solução (v3) ---- */
.fam{border-top-width:3px;border-top-style:solid}
#f-dados{border-top-color:#028576}
#f-estrategia{border-top-color:#E87722}
.famhead{max-width:66ch}
.famhead .fk{font-family:var(--sans);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:15px}
.famhead h2{margin-bottom:16px}
.famhead p{font-size:19px;color:#3E5E6B;margin:0}
.pull{border-left:2px solid var(--orange);padding-left:18px;font-size:18px;color:#3E5E6B;max-width:58ch;margin:24px 0 0}
.area{margin-top:62px;scroll-margin-top:100px}
.area .ah{font-size:clamp(1.3rem,2.1vw,1.6rem);margin-bottom:2px;max-width:26ch}
.area .rows{border-top-width:3px;border-top-style:solid}
.row h4{margin:0;font-family:var(--sans);font-weight:600;font-size:20px;letter-spacing:-.022em;line-height:1.12}
.rows h4[id]{scroll-margin-top:110px}
.rows h4[id]:target{color:var(--teal)}
a.row:hover h4{color:var(--teal)}
.legfams{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:24px 0 4px}
.legfam .lfk{display:block;font-family:var(--sans);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--navy);padding-bottom:9px;border-bottom:1px solid var(--line);margin-bottom:11px}
.legfam .legend{margin:0;flex-direction:column;gap:5px;align-items:flex-start}
.hero-foot a{color:#AEC4CA;text-decoration:none;border-bottom:1px solid rgba(174,196,202,.3)}
.hero-foot a:hover{color:var(--teal-br);border-bottom-color:var(--teal-br)}
@media (max-width:920px){.legfams{grid-template-columns:1fr;gap:26px}.area{margin-top:46px}}

/* ---- pivô das duas famílias na home ---- */
.famsplit{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:30px}
.famcard{border-top:3px solid var(--line);padding-top:18px}
.famcard.d{border-top-color:#028576}
.famcard.e{border-top-color:#E87722}
.famcard h3{font-size:21px;margin-bottom:10px}
.famcard h3 a{text-decoration:none;border-bottom:1px solid transparent}
.famcard h3 a:hover{color:var(--teal);border-bottom-color:currentColor}
.famcard p{margin:0;font-size:16.5px;color:#4A6672}
@media (max-width:920px){.famsplit{grid-template-columns:1fr;gap:30px}}

/* ---- CTA ao pé de mídia e publicações ---- */
.mcta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:34px}
.mcta p{margin:0;font-size:18px;color:#3E5E6B;max-width:52ch}
@media (max-width:620px){.mcta{display:block}.mcta .btn{margin-top:20px}}

/* ---- cartões de material para baixar ---- */
.posts.mat .post-rule{background:var(--orange)}
.posts.mat .post:hover h3{color:var(--orange)}

#a-pesquisa .rows{border-top-color:#0A5A72}
