:root{
  --ink:#07140F; --graphite:#0E2420; --slate:#173630; --line:rgba(236,243,240,.12);
  --bone:#ECF3F0; --steel:#8FB0A7; --champ:#2BB5A3; --champ-deep:#0E6E5C;
  --display:'Inter Tight',sans-serif; --body:'Inter',system-ui,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
  --w:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--ink)}
body{font-family:var(--body);background:var(--ink);color:var(--bone);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--champ);outline-offset:3px}
::selection{background:var(--champ);color:var(--ink)}

/* grão de filme */
body::after{content:'';position:fixed;inset:-50%;pointer-events:none;z-index:60;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,-1%)}100%{transform:translate(2%,2%)}}

/* abertura: barras letterbox */
.bars{position:fixed;left:0;right:0;height:9vh;background:#000;z-index:55;pointer-events:none;transition:transform 1.4s cubic-bezier(.7,0,.2,1) .2s}
.bars.top{top:0;transform:translateY(0)} .bars.bot{bottom:0;transform:translateY(0)}
body.aberto .bars.top{transform:translateY(-100%)} body.aberto .bars.bot{transform:translateY(100%)}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:22px 0;transition:background .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(7,20,15,.78);backdrop-filter:blur(14px);padding:12px 0;border-color:var(--line)}
.nav-in{max-width:var(--w);margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:34px;width:auto}
.brand .tc{font-family:var(--mono);font-size:11.5px;color:var(--steel);letter-spacing:.06em;border-left:1px solid var(--line);padding-left:14px}
.brand .tc b{color:var(--champ);font-weight:500}
.menu{display:flex;gap:28px;align-items:center}
.menu a{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--steel);transition:color .2s}
.menu a:hover{color:var(--bone)}
.menu a.btn-champ,.menu a.btn-champ:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:13.5px;letter-spacing:.02em;padding:13px 22px;border-radius:4px;border:1px solid transparent;transition:transform .25s,background .25s,border-color .25s,color .25s;cursor:pointer}
.btn-champ{background:var(--champ);color:var(--ink)}
.btn-champ:hover{background:#7FD1B9;transform:translateY(-1px)}
.btn-ghost{border-color:rgba(236,243,240,.28);color:var(--bone)}
.btn-ghost:hover{border-color:var(--champ);color:var(--champ)}
.btn .ar{transition:transform .25s}
.btn:hover .ar{transform:translateX(4px)}
@media(max-width:820px){.menu a:not(.btn){display:none}.brand .tc{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1.12);animation:push 32s ease-out forwards}
@keyframes push{to{transform:scale(1)}}
@media(max-width:760px){.hero-bg img{object-position:62% center}}
.hero-veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(7,20,15,.55) 0%,rgba(7,20,15,.15) 35%,rgba(7,20,15,.75) 72%,var(--ink) 100%),
             linear-gradient(90deg,rgba(7,20,15,.7) 0%,rgba(7,20,15,.25) 50%,rgba(7,20,15,.1) 100%)}
.hero-in{max-width:var(--w);width:100%;margin:0 auto;padding:140px 28px 64px;position:relative}
.slate{font-family:var(--mono);font-size:12px;color:var(--champ);letter-spacing:.12em;text-transform:uppercase;display:flex;gap:18px;align-items:center;margin-bottom:26px}
.slate::before{content:'';width:44px;height:1px;background:var(--champ)}
.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(40px,5.8vw,80px);line-height:.98;letter-spacing:-.035em;max-width:16ch;text-wrap:balance}
.hero h1 .fx{color:#7FD1B9;font-weight:700}
.hero-row{margin-top:38px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end}
.hero p.sub{font-size:18px;color:rgba(236,243,240,.82);max-width:52ch;font-weight:500}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.hero .meta{margin-top:46px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:38px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--steel);letter-spacing:.04em}
.hero .meta b{color:var(--bone);font-weight:500}
@media(max-width:820px){.hero-row{grid-template-columns:1fr;gap:24px}.hero .acts{justify-content:flex-start}.hero-in{padding-bottom:56px}}

/* entrada orquestrada */
.ent{opacity:0;transform:translateY(26px);animation:ent 1.1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(1.1s + var(--d,0s))}
@keyframes ent{to{opacity:1;transform:none}}

/* ---------- base das seções ---------- */
.sec{padding:120px 28px;position:relative}
.sec-in{max-width:var(--w);margin:0 auto}
.ato{display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--champ);margin-bottom:28px}
.ato span{color:var(--steel)}
.ato::after{content:'';flex:1;height:1px;background:var(--line)}
h2.t{font-family:var(--display);font-weight:700;font-size:clamp(32px,4.6vw,60px);line-height:1.02;letter-spacing:-.03em;max-width:20ch;text-wrap:balance}
p.lead{margin-top:22px;font-size:17px;color:rgba(236,243,240,.72);max-width:60ch}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.reveal.vis{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* ---------- ato I: problema (manifesto) ---------- */
.manif{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.manif blockquote{font-family:var(--display);font-weight:500;letter-spacing:-.02em;font-size:clamp(24px,2.6vw,34px);line-height:1.25;letter-spacing:-.01em;color:var(--bone)}
.manif blockquote em{font-style:normal;color:var(--champ)}
.sinais{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.sinais li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:28px 1fr;gap:16px;font-size:15.5px;color:rgba(236,243,240,.8)}
.sinais li::before{content:'/';color:var(--champ);font-family:var(--mono)}
@media(max-width:820px){.manif{grid-template-columns:1fr;gap:36px}}

/* ---------- ato II: soluções (tira de filme) ---------- */
.sec.filme{padding-left:0;padding-right:0}
.filme .sec-in{padding:0 28px}
.tira{margin-top:48px;position:relative}
.tira::before,.tira::after{content:'';position:absolute;left:0;right:0;height:14px;
  background:repeating-linear-gradient(90deg,transparent 0 18px,var(--slate) 18px 30px);opacity:.9}
.tira::before{top:0}.tira::after{bottom:0}
.trilho{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:30px max(28px,calc((100vw - var(--w))/2 + 28px)) 30px;scrollbar-width:none}
.trilho::-webkit-scrollbar{display:none}
.frame{flex:0 0 320px;scroll-snap-align:start;background:var(--graphite);border:1px solid var(--line);border-radius:6px;padding:26px 24px 24px;min-height:280px;display:flex;flex-direction:column;position:relative;transition:border-color .3s,transform .3s}
.frame:hover{border-color:rgba(43,181,163,.55);transform:translateY(-4px)}
.frame .num{font-family:var(--mono);font-size:11.5px;color:var(--steel);letter-spacing:.1em}
.frame h3{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.15;margin-top:46px;letter-spacing:-.01em}
.frame p{margin-top:12px;font-size:14px;color:rgba(236,243,240,.68);flex:1}
.frame .para{margin-top:18px;font-family:var(--mono);font-size:11.5px;color:var(--champ)}
.frame::after{content:'● REC';position:absolute;top:24px;right:24px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--champ);opacity:0;transition:opacity .3s}
.frame:hover::after{opacity:1}
.tira-nav{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:18px;padding:0 28px;max-width:var(--w);margin-left:auto;margin-right:auto;font-family:var(--mono);font-size:12px;color:var(--steel)}
.tira-nav .bt{display:flex;gap:8px}
.tira-nav button{background:none;border:1px solid var(--line);color:var(--bone);width:42px;height:42px;border-radius:4px;cursor:pointer;font-size:18px;transition:border-color .2s,color .2s}
.tira-nav button:hover{border-color:var(--champ);color:var(--champ)}
@media(max-width:600px){.frame{flex-basis:82vw}}

/* ---------- governance: bloco cinema ---------- */
.gov{position:relative;overflow:hidden;padding:0}
.gov .foto{position:absolute;inset:0}
.gov .foto img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.gov .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,15,.96) 0%,rgba(7,20,15,.85) 45%,rgba(7,20,15,.35) 100%)}
.gov .sec-in{position:relative;padding:140px 28px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.gov h2.t{max-width:16ch}
.gov .lista{list-style:none;display:grid;gap:14px}
.gov .lista li{display:grid;grid-template-columns:22px 1fr;gap:14px;font-size:15px;color:rgba(236,243,240,.85);padding-bottom:14px;border-bottom:1px solid var(--line)}
.gov .lista li::before{content:'';width:8px;height:8px;margin-top:7px;background:var(--champ);clip-path:polygon(0 0,100% 50%,0 100%)}
.gov .paises{margin-top:30px;font-family:var(--mono);font-size:12px;color:var(--steel);letter-spacing:.08em}
@media(max-width:860px){.gov .sec-in{grid-template-columns:1fr;padding:100px 28px}.gov .veil{background:linear-gradient(180deg,rgba(7,20,15,.95),rgba(7,20,15,.85))}}

/* ---------- ato III: método + diferenciais ---------- */
.metodo{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.cenas{list-style:none;counter-reset:c;border-top:1px solid var(--line)}
.cenas li{counter-increment:c;display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.cenas li::before{content:counter(c,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--champ);padding-top:6px}
.cenas h3{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.01em}
.cenas p{margin-top:8px;font-size:14.5px;color:rgba(236,243,240,.68)}
.cenas .dur{margin-top:10px;font-family:var(--mono);font-size:11.5px;color:var(--steel)}
.still{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--line)}
.still img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.still:hover img{transform:scale(1.1)}
.still .cap{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11.5px;color:var(--bone);letter-spacing:.08em;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.still::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,20,15,.7))}
@media(max-width:860px){.metodo{grid-template-columns:1fr;gap:40px}.still{aspect-ratio:3/2}}

/* ---------- quem somos ---------- */
.quem{background:var(--graphite);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quem .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.quem .still{aspect-ratio:3/2}
.quem .nums{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:24px}
.quem .nums b{display:block;font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-.02em;color:var(--champ)}
.quem .nums span{font-size:13px;color:var(--steel)}
.setores{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px}
.setores span{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--steel);border:1px solid var(--line);padding:7px 12px;border-radius:3px}
@media(max-width:860px){.quem .grid{grid-template-columns:1fr;gap:36px}.quem .nums{grid-template-columns:repeat(3,auto)}}

/* ---------- créditos / contato ---------- */
.cred{padding:140px 28px 80px;text-align:center;position:relative;overflow:hidden}
.cred::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 100%,rgba(43,181,163,.16),transparent 70%)}
.cred .sec-in{position:relative}
.cred h2{font-family:var(--display);font-weight:700;font-size:clamp(40px,6.6vw,92px);line-height:.96;letter-spacing:-.04em;max-width:14ch;margin:0 auto;text-wrap:balance}
.cred p{margin:24px auto 0;font-size:17px;color:rgba(236,243,240,.72);max-width:48ch}
.cred .acts{margin-top:38px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cred .ficha{margin-top:90px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;border-top:1px solid var(--line);padding-top:32px}
.cred .ficha .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.cred .ficha .v{margin-top:8px;font-size:15px;color:var(--bone);line-height:1.5}
.cred .ficha a.v:hover{color:var(--champ)}
@media(max-width:760px){.cred .ficha{grid-template-columns:1fr;gap:26px}}
footer{border-top:1px solid var(--line);padding:26px 28px;font-family:var(--mono);font-size:11.5px;color:var(--steel);letter-spacing:.04em}
footer .in{max-width:var(--w);margin:0 auto;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

@media(prefers-reduced-motion:reduce){
  body::after{animation:none}.hero-bg img{animation:none;transform:none}
  .ent{animation:none;opacity:1;transform:none}.reveal{transition:none;opacity:1;transform:none}
  .bars{display:none}
}

/* ---------- páginas de serviço ---------- */
body.sv .nav{padding:12px 0}
.sv-hero{position:relative;padding:200px 28px 90px;overflow:hidden;isolation:isolate}
.sv-bg{position:absolute;inset:0;z-index:-2}
.sv-bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transform:scale(1.06)}
.sv-hero .hero-veil{background:linear-gradient(180deg,rgba(7,20,15,.8) 0%,rgba(7,20,15,.55) 40%,var(--ink) 100%),linear-gradient(90deg,rgba(7,20,15,.75),rgba(7,20,15,.2))}
.sv-hero .volta{display:inline-block;font-family:var(--mono);font-size:12px;color:var(--steel);letter-spacing:.06em;margin-bottom:34px;transition:color .2s}
.sv-hero .volta:hover{color:var(--champ)}
.sv-hero .slate{font-family:var(--mono);font-size:12px;color:var(--champ);letter-spacing:.12em;text-transform:uppercase;display:flex;gap:18px;align-items:center;margin-bottom:24px}
.sv-hero .slate::before{content:'';width:44px;height:1px;background:var(--champ)}
.sv-hero h1{font-family:var(--display);font-weight:700;font-size:clamp(34px,4.8vw,66px);line-height:1;letter-spacing:-.035em;max-width:20ch;text-wrap:balance}
.sv-hero .sub{margin-top:24px;font-size:18px;color:rgba(236,243,240,.8);max-width:58ch;font-weight:500}
.sv-hero .acts{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.sv-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.sv-grid .ato{margin-bottom:22px}
.intro{font-family:var(--display);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.35;letter-spacing:-.015em;color:var(--bone)}
.entregas{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ent-c{background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:26px 24px;transition:border-color .3s}
.ent-c:hover{border-color:rgba(43,181,163,.55)}
.ent-c h3{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em}
.ent-c p{margin-top:10px;font-size:14px;color:rgba(236,243,240,.68)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--mono);color:var(--champ);font-size:20px;flex-shrink:0}
.faq details[open] summary::after{content:'−'}
.faq .resp{padding:0 0 22px;font-size:15px;color:rgba(236,243,240,.72);max-width:60ch}
.form{background:var(--graphite);border:1px solid var(--line);border-radius:8px;padding:32px;display:grid;gap:16px}
.form label{display:grid;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.form input,.form select,.form textarea{font-family:var(--body);font-size:15px;color:var(--bone);background:var(--ink);border:1px solid var(--line);border-radius:4px;padding:13px 14px;width:100%;transition:border-color .2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--champ)}
.form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--steel) 50%),linear-gradient(135deg,var(--steel) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.form textarea{resize:vertical}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form button{justify-content:center;margin-top:6px}
.form .nota{font-size:12.5px;color:var(--steel);line-height:1.5}
.form .erro{font-size:13px;color:#E08A7A}
.sv .ficha{display:grid;gap:22px}
.sv .ficha .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.sv .ficha .v{display:block;margin-top:6px;font-size:15px;color:var(--bone)}
.sv .ficha a.v:hover{color:var(--champ)}
@media(max-width:860px){.sv-grid{grid-template-columns:1fr;gap:40px}.entregas{grid-template-columns:1fr}.form .row{grid-template-columns:1fr}.sv-hero{padding:150px 28px 70px}.form{padding:24px}}
.frame{color:inherit}
.frame .para::after{content:'  →';color:var(--bone)}

/* banner rotativo */
.banner .slate,.banner h1,.banner .sub,.banner .acts{transition:opacity .38s ease,transform .38s ease}
.banner.troca .slate,.banner.troca h1,.banner.troca .sub,.banner.troca .acts{opacity:0;transform:translateY(10px)}
.banner h1{min-height:2em}
.b-nav{margin-top:30px;display:flex;align-items:center;gap:14px}
.b-bt{background:none;border:1px solid var(--line);color:var(--bone);width:38px;height:38px;border-radius:4px;cursor:pointer;font-size:16px;transition:border-color .2s,color .2s}
.b-bt:hover{border-color:var(--champ);color:var(--champ)}
.b-dots{display:flex;gap:6px;flex-wrap:wrap}
.b-dot{width:22px;height:3px;border:0;border-radius:2px;background:rgba(236,243,240,.22);cursor:pointer;padding:0;transition:background .3s,width .3s}
.b-dot.on{background:var(--champ);width:34px}
.b-pos{font-family:var(--mono);font-size:12px;color:var(--steel);margin-left:auto}
@media(max-width:820px){.b-dots{display:none}.b-pos{margin-left:0}}

/* ---------- páginas do menu ---------- */
.menu a.ativo{color:var(--champ)}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.burger span{display:block;width:22px;height:2px;background:var(--bone)}
@media(max-width:820px){
  .burger{display:flex}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:rgba(7,20,15,.97);border-bottom:1px solid var(--line);padding:14px 28px 22px;flex-direction:column;align-items:stretch;gap:4px}
  .menu.aberto{display:flex}
  .menu a{display:block !important;padding:12px 0;font-size:15px;border-bottom:1px solid var(--line)}
  .menu a.btn{border:0;justify-content:center;margin-top:10px}
  .nav{position:fixed}
}
.pg .sv-hero{padding:190px 28px 80px}
.texto p{font-size:16.5px;color:rgba(236,243,240,.8);line-height:1.65}
.texto p+p{margin-top:16px}
.nums4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:12px}
.nums4 b{display:block;font-family:var(--display);font-weight:700;font-size:42px;letter-spacing:-.03em;color:var(--champ)}
.nums4 span{font-size:13.5px;color:var(--steel)}
@media(max-width:860px){.nums4{grid-template-columns:1fr 1fr}}
.ent-c .num,.art-card .num{font-family:var(--mono);font-size:11.5px;color:var(--champ);letter-spacing:.1em;display:block;margin-bottom:16px}
.ent-c.lk2{display:flex;flex-direction:column}
.ent-c.lk2 p{flex:1}
.ent-c .para,.art-card .para{margin-top:16px;font-family:var(--mono);font-size:11.5px;color:var(--champ)}
.ficha-c{margin-top:18px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;border-top:1px solid var(--line);padding-top:14px}
.ficha-c dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.ficha-c dd{color:var(--bone)}
.k2{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin:26px 0 12px}
/* materiais */
.mats{display:grid;gap:28px}
.mat{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;background:var(--graphite);border:1px solid var(--line);border-radius:10px;padding:34px;align-items:start}
.mat .capa{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.mat .capa img{width:100%;height:100%;object-fit:cover}
.mat .capa::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,15,.85) 0%,rgba(7,20,15,.35) 45%,rgba(7,20,15,.2) 100%)}
.mat .capa-t{position:absolute;left:22px;right:22px;top:22px;z-index:1}
.mat .capa-t .k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--champ);margin-bottom:10px}
.mat .capa-t b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.05;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.mat .mat-c .sinais{margin-top:0}
.mat .form{margin-top:26px;padding:24px}
.mat .form .ok{font-size:13.5px;color:var(--bone)}
.mat .form .ok a{color:var(--champ);text-decoration:underline}
@media(max-width:860px){.mat{grid-template-columns:1fr;padding:22px;gap:24px}}
/* artigos */
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.art-card{background:var(--graphite);border:1px solid var(--line);border-radius:8px;padding:28px 26px;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.art-card:hover{border-color:rgba(43,181,163,.55);transform:translateY(-3px)}
.art-card h3{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.12;letter-spacing:-.02em}
.art-card p{margin-top:12px;font-size:14.5px;color:rgba(236,243,240,.7);flex:1}
@media(max-width:860px){.arts{grid-template-columns:1fr}}
.art-h{padding:170px 28px 40px;border-bottom:1px solid var(--line)}
.art-h h1{font-family:var(--display);font-weight:700;font-size:clamp(32px,4.6vw,58px);line-height:1.02;letter-spacing:-.035em;max-width:22ch;text-wrap:balance}
.art-h .sub{margin-top:20px;font-size:18px;color:rgba(236,243,240,.78);max-width:60ch}
.art-h .slate{font-family:var(--mono);font-size:12px;color:var(--champ);letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}
.art-h .volta{display:inline-block;font-family:var(--mono);font-size:12px;color:var(--steel);letter-spacing:.06em;margin-bottom:30px}
.art-h .volta:hover{color:var(--champ)}
.art-meta{margin-top:22px;font-family:var(--mono);font-size:12px;color:var(--steel)}
.art-body{padding:56px 28px 90px;display:grid;grid-template-columns:minmax(0,680px) 300px;gap:56px;align-items:start}
.art-body h2{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.02em;margin:34px 0 12px}
.art-body p{font-size:17px;line-height:1.7;color:rgba(236,243,240,.85)}
.art-body p+p{margin-top:16px}
.art-cta{grid-column:2;grid-row:1 / span 20;position:sticky;top:100px;background:var(--graphite);border:1px solid var(--line);border-radius:8px;padding:24px}
.art-cta b{font-family:var(--display);font-size:20px;display:block}
.art-cta p{font-size:14px;color:var(--steel);margin:10px 0 18px}
@media(max-width:900px){.art-body{grid-template-columns:1fr}.art-cta{grid-column:1;grid-row:auto;position:static}}
/* rodapé */
.ft{border-top:1px solid var(--line);background:var(--graphite)}
.ft-in{max-width:var(--w);margin:0 auto;padding:56px 28px 36px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.ft p{margin-top:16px;font-size:14px;color:var(--steel);max-width:40ch}
.ft-links,.ft-c{display:grid;gap:10px;align-content:start;font-size:14px}
.ft-links a:hover,.ft-c a:hover{color:var(--champ)}
.ft-c span{color:var(--steel);line-height:1.5}
.ft-base{max-width:var(--w);margin:0 auto;padding:18px 28px 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:var(--steel);letter-spacing:.04em}
@media(max-width:860px){.ft-in{grid-template-columns:1fr;gap:28px}}
/* materiais: listagem em grade e landing pages */
.mats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mat-lista{grid-template-columns:.75fr 1.25fr;gap:28px;padding:24px}
.mat-lista .capa{display:block;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.mat-lista .capa:hover{transform:translateY(-4px)}
.mat-lista h2.t{font-size:clamp(24px,2.4vw,32px)}
.mat-lista h2.t a:hover{color:var(--champ)}
@media(max-width:900px){.mats-grid{grid-template-columns:1fr}.mat-lista{grid-template-columns:1fr}}
.lp-hero{padding:170px 28px 90px}
.lp-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.lp-grid .sinais{margin-top:0}
.lp-side .capa{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.4);max-width:300px;margin-bottom:22px}
.lp-side .capa img{width:100%;height:100%;object-fit:cover}
.lp-side .capa::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,15,.85) 0%,rgba(7,20,15,.35) 45%,rgba(7,20,15,.2) 100%)}
.lp-side .capa-t{position:absolute;left:18px;right:18px;top:18px;z-index:1}
.lp-side .capa-t .k{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--champ);margin-bottom:8px}
.lp-side .capa-t b{display:block;font-family:var(--display);font-weight:700;font-size:20px;line-height:1.05;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.lp-side .form{padding:24px;background:rgba(14,36,32,.92);backdrop-filter:blur(8px)}
.lp-side .form .ok{font-size:13.5px}.lp-side .form .ok a{color:var(--champ);text-decoration:underline}
@media(max-width:860px){.lp-grid{grid-template-columns:1fr;gap:36px}.lp-side .capa{display:none}}

/* mapa-múndi */
.mapa-wrap{margin-top:40px;background:var(--graphite);border:1px solid var(--line);border-radius:10px;padding:28px;overflow:hidden}
.mapa{width:100%;height:auto;display:block}
.mapa text{font-family:'JetBrains Mono',monospace;font-size:22px;fill:#ECF3F0;letter-spacing:.04em;paint-order:stroke;stroke:#07140F;stroke-width:6px;stroke-linejoin:round}
.mapa .pulso{fill:#2BB5A3;opacity:.35;transform-box:fill-box;transform-origin:center;animation:pulso 2.6s ease-out infinite}
.mapa .pin:nth-child(odd) .pulso{animation-delay:1.3s}
@keyframes pulso{0%{transform:scale(.4);opacity:.6}100%{transform:scale(1.6);opacity:0}}
@media(prefers-reduced-motion:reduce){.mapa .pulso{animation:none;opacity:.25}}
.paises{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.paises span{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--steel);border:1px solid var(--line);padding:7px 12px;border-radius:3px}
.paises span::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--champ);margin-right:8px;vertical-align:middle}
@media(max-width:760px){.mapa text{font-size:34px}.mapa-wrap{padding:12px}}

.mapa .rota{stroke-dasharray:6 10;animation:rota 3s linear infinite}
@keyframes rota{to{stroke-dashoffset:-32}}
.mapa .sede text{font-weight:500;fill:#7FD1B9}
.legenda{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;color:var(--steel);letter-spacing:.06em}
.legenda span::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}
.legenda .l-sede::before{background:#7FD1B9;box-shadow:0 0 0 3px rgba(127,209,185,.25)}
.legenda .l-at::before{background:#2BB5A3}
.legenda .l-rota::before{width:18px;height:2px;border-radius:0;background:repeating-linear-gradient(90deg,#2BB5A3 0 4px,transparent 4px 7px)}
@media(prefers-reduced-motion:reduce){.mapa .rota{animation:none}}

.capa-logo{height:22px;width:auto;display:block;margin-bottom:14px;opacity:.95}
.lp-side .capa-logo{height:18px;margin-bottom:10px}
.mat .capa img.capa-logo,.lp-side .capa img.capa-logo{width:auto;height:22px;object-fit:contain;position:static}
.lp-side .capa img.capa-logo{height:18px}
